Punnett Square Calculator
Type the genotypes of two parents, such as AaBb and aaBb, to draw the Punnett square and get every offspring genotype and phenotype with its ratio, fraction and percentage. Works for one to four genes, with complete, incomplete or codominant alleles.
Last updated:
Two letters per gene, same letter for both alleles: capital = dominant allele, lowercase = recessive (e.g. Aa, AaBb, AABbcc). Up to 4 genes.
Punnett square
Genotype ratio
Phenotype ratio
How to use the Punnett Square Calculator
- Enter Parent 1's genotype, two letters per gene: a capital letter for the dominant allele and a lowercase letter for the recessive one, e.g.
AaBb. - Enter Parent 2's genotype using the same gene letters, e.g.
aaBb. The order of the genes does not matter. - Optionally name the traits and set the dominance type for each gene (complete, incomplete or codominant).
- Press Calculate cross (results also update as you type) to see the Punnett square, genotype ratio and phenotype ratio.
- Copy or download the results as text or CSV for homework, lab reports or breeding notes.
How the Punnett square works
Each parent carries two alleles for every gene and passes exactly one of them to each offspring. By Mendel's law of segregation the two alleles separate into gametes with equal probability, and by the law of independent assortment alleles of different genes are sorted independently. A parent with n genes therefore produces 2n equally likely gametes (some may be identical), and the square has 2n × 2n boxes:
- Monohybrid (1 gene): 2 gametes per parent, 4 boxes, each worth 1/4 = 25%.
- Dihybrid (2 genes): 4 gametes, 16 boxes, each 1/16 = 6.25%. For
AaBbthe gametes are AB, Ab, aB and ab. - Trihybrid (3 genes): 8 gametes, 64 boxes, each 1/64 ≈ 1.56%.
The probability of a genotype is simply (number of boxes with that genotype) ÷ (total boxes). The same answer comes from the product rule: for AaBb × aaBb, P(aabb) = P(aa) × P(bb) = 1/2 × 1/4 = 1/8, which the calculator shows as 2 of 16 boxes.
Classic crosses and their ratios
| Cross | Genotype ratio | Phenotype ratio (complete dominance) | Typical use |
|---|---|---|---|
AA × aa | all Aa | 100% dominant | P generation of a true-breeding cross |
Aa × Aa | 1 : 2 : 1 | 3 : 1 | Mendel's F1 self-cross |
Aa × aa | 1 : 1 | 1 : 1 | Test cross on a heterozygote |
AaBb × AaBb | 1:2:1:2:4:2:1:2:1 | 9 : 3 : 3 : 1 | Dihybrid F1 self-cross |
AaBb × aabb | 1 : 1 : 1 : 1 | 1 : 1 : 1 : 1 | Dihybrid test cross |
AaBb × aaBb | 1:2:1:1:2:1 | 3 : 3 : 1 : 1 | Mixed cross (one gene test-crossed) |
AaBbCc × AaBbCc | 27 genotypes | 27 : 9 : 9 : 9 : 3 : 3 : 3 : 1 | Trihybrid self-cross |
Rr × Rr (incomplete) | 1 : 2 : 1 | 1 red : 2 pink : 1 white | Snapdragon flower color |
Tips for writing genotypes
- Use one letter per gene and the same letter for both alleles:
Bb, notBc. Capital = dominant allele, lowercase = recessive. - Homozygous dominant is two capitals (
AA), homozygous recessive two lowercase (aa), and heterozygous one of each (Aa). - For incomplete dominance or codominance (like flower color or roan coats), still use
R/rand pick the matching dominance option so the heterozygote gets its own phenotype. - Blood types involve three alleles (IA, IB, i), which a two-allele square can't show; use the Blood Type Calculator for those.
- Checking lab data? Compare your observed offspring counts to the expected ratio with the Chi-Square Calculator.
Frequently asked questions
How do you fill in a Punnett square?
List every gamete Parent 1 can make across the top and every gamete Parent 2 can make down the side. Each gamete carries one allele of each gene. Then fill each box by combining the row gamete with the column gamete. Each box is one equally likely offspring, so a 2 × 2 square gives 25% per box and a 4 × 4 square gives 6.25% (1/16) per box.
What is the phenotype ratio of a dihybrid cross AaBb × AaBb?
With complete dominance for both genes the phenotype ratio is 9:3:3:1: 9/16 show both dominant traits, 3/16 show dominant A with recessive b, 3/16 show recessive a with dominant B, and 1/16 show both recessive traits. The genotype ratio is 1:2:1:2:4:2:1:2:1 across nine genotypes.
What is the ratio for a monohybrid cross Aa × Aa?
The genotype ratio is 1 AA : 2 Aa : 1 aa. With complete dominance the phenotype ratio is 3 dominant : 1 recessive (75% and 25%). With incomplete dominance or codominance the heterozygote looks different, so the phenotype ratio becomes 1:2:1, the same as the genotype ratio.
What is a test cross?
A test cross breeds an individual showing the dominant trait with a homozygous recessive individual (aa) to find out whether it is AA or Aa. If any offspring show the recessive trait, the parent must be Aa; an Aa × aa cross gives a 1:1 ratio, while AA × aa gives 100% dominant-looking Aa offspring.
What is the difference between incomplete dominance and codominance?
In incomplete dominance the heterozygote shows a blend of the two traits, such as pink snapdragons from red and white parents. In codominance both alleles are fully expressed side by side, such as AB blood type or roan cattle with both red and white hairs. In both cases a heterozygote looks different from either homozygote.
Does this calculator assume genes are unlinked?
Yes. Like a textbook Punnett square, it assumes Mendel's law of independent assortment, meaning each gene is on a different chromosome or far enough apart that they are inherited independently. Linked genes, sex-linked traits and traits controlled by many genes do not follow these simple ratios.
Why are the real offspring counts different from the predicted ratio?
A Punnett square gives probabilities, not guarantees. Each offspring is an independent random event, so a litter of 8 from Aa × Aa parents will not always contain exactly 6 dominant and 2 recessive. With large numbers the observed ratio gets close to the prediction, and a chi-square test can tell whether a difference is likely due to chance.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.