Use this Punnett Square Calculator to predict offspring genotypes, phenotypes, gametes, and ratios for 1-trait or 2-trait crosses.
Advanced options
How to use our Punnett Square Calculator
- Choose Number of traits and Inheritance pattern first so the calculator knows whether to build a 1-trait or 2-trait Punnett square and how to group phenotypes.
- Enter each parent's genotype in the matching boxes, such as Parent 1, trait 1 genotype = Aa and Parent 2, trait 1 genotype = Aa. In 2-trait mode, also fill in Parent 1, trait 2 genotype and Parent 2, trait 2 genotype.
- If you want phenotype names instead of just genotype groupings, open Advanced options and fill in the phenotype name fields. For incomplete dominance or codominance, add the heterozygous name too if you want complete phenotype labels.
- Click Calculate, then read the results in order: Punnett square, Genotype ratio, Genotype percentages, Phenotype ratio, Phenotype percentages, and Parent gametes.
- Sanity-check the output by comparing Parent gametes to the square size. For example, 2 gametes from one parent and 2 from the other should make 4 total boxes, and all genotype or phenotype percentages together should add to about 100%.

Definitions
Allele: One version of a gene, often written as a letter such as A or a.
Genotype: The two-allele combination for a trait, such as AA, Aa, or aa.
Phenotype: The visible trait outcome that a genotype produces, such as tall or short.
Gametes: The allele combinations a parent can pass on. A Punnett square is built from these parent gametes.
Complete dominance: A heterozygous genotype like Aa is grouped with the dominant phenotype.
Incomplete dominance: A heterozygous genotype has its own blended phenotype group, so AA, Aa, and aa can all be separate.
Codominance: A heterozygous genotype shows both alleles in the phenotype, so AA, Aa, and aa can also be separate groups.
Genotype ratio: A comparison of how many square boxes contain each genotype.
Phenotype ratio: A comparison of how many square boxes fall into each phenotype group after the inheritance pattern is applied.
Common mistakes and quick fixes
Mistake: Entering three letters, spaces, or symbols in Parent 1, trait 1 genotype or Parent 2, trait 1 genotype , such as A a, Aaa, or A*.
Fix: Use exactly two letters with no spaces or symbols, such as AA, Aa, or aa.
Mistake: Using different letter families for the same trait, such as Aa in Parent 1, trait 1 genotype and Bb in Parent 2, trait 1 genotype .
Fix: For one trait, both parents must use the same gene letter for that trait, such as Aa crossed with AA or aa.
Mistake: Choosing Number of traits = 2 traits but leaving Parent 1, trait 2 genotype or Parent 2, trait 2 genotype blank.
Fix: Fill in both trait 2 genotype boxes, or switch Number of traits back to 1 trait.
Mistake: Expecting Phenotype ratio to split heterozygous offspring separately while Inheritance pattern is set to complete dominance.
Fix: In complete dominance, Aa is grouped with the dominant phenotype. Switch Inheritance pattern to incomplete dominance or codominance if the heterozygous case should be its own phenotype.
Mistake: Leaving Trait 1 heterozygous phenotype name or Trait 2 heterozygous phenotype name blank in incomplete dominance or codominance and then being confused by the phenotype results.
Fix: Add the heterozygous phenotype name if you want fully labeled Phenotype ratio and Phenotype percentages . The genotype results still work without it.
Mistake: Reading Genotype ratio and Phenotype ratio as if they mean the same thing.
Fix: Use Genotype ratio for allele combinations such as AA:Aa:aa, and use Phenotype ratio for the visible trait groups after the inheritance pattern is applied.
Limitations & Key Assumptions / Boundary Conditions
- This calculator is a simple Mendelian model for 1 or 2 traits. It does not model linked genes, sex-linked inheritance, multiple alleles, mutations, or environmental effects.
- It assumes each listed gamete is equally likely and each box in the Punnett square counts the same.
- Phenotype results depend on the Inheritance pattern you choose and any phenotype names you enter in Advanced options.
- In complete dominance, heterozygous offspring are grouped with the dominant phenotype. In incomplete dominance and codominance, heterozygous offspring are treated as their own phenotype group.
- If heterozygous phenotype names are left blank for incomplete dominance or codominance, genotype outputs still calculate, but phenotype labels may be incomplete.
- Ratios show expected probabilities from the square, not guaranteed results for a small real family or a single breeding outcome.
Methodology
How the calculator works
The calculator reads each parent's genotype, generates the possible gametes for each parent, combines those gametes into a Punnett square, counts matching offspring genotypes, and then groups those genotypes into phenotypes based on the selected inheritance pattern.
Core formulas
gamete_count = 2^h
Here, h is the number of heterozygous traits in that parent for the selected cross. For example, Aa has 1 heterozygous trait, so it makes 2 gamete types. AA has 0 heterozygous traits, so it makes 1 gamete type.
square_cells = gamete_count_parent1 * gamete_count_parent2
This gives the total number of boxes in the Punnett square.
genotype_probability = genotype_count / total_cells
genotype_percentage = genotype_probability * 100
Each genotype count is divided by the total number of square boxes to get its probability and percentage.
phenotype_probability = phenotype_count / total_cells
phenotype_percentage = phenotype_probability * 100
Phenotype counts are based on how genotypes are grouped under complete dominance, incomplete dominance, or codominance.
simplified_ratio = counts / gcd(all_counts)
If you choose simplified ratio, the calculator divides all nonzero counts by their greatest common divisor. If you choose square count ratio, it keeps the original counts from the Punnett square.
How phenotype grouping is done
For complete dominance, a dominant homozygous genotype and a heterozygous genotype are grouped together in the phenotype results. For incomplete dominance and codominance, the heterozygous genotype is kept as its own phenotype group.
Worked mini-example
Suppose Number of traits is 1 trait, Inheritance pattern is complete dominance, and both parents are Aa.
Parent 1 gametes: A, a
Parent 2 gametes: A, a
square_cells = 2 * 2 = 4
The four genotype boxes are AA, Aa, Aa, and aa.
Genotype counts: AA = 1, Aa = 2, aa = 1
Genotype ratio = 1:2:1
Genotype percentages = 25%, 50%, 25%
With complete dominance, AA and Aa are grouped into the same phenotype.
Phenotype counts: dominant = 3, recessive = 1
Phenotype ratio = 3:1
Phenotype percentages = 75%, 25%
Validation and normalization
Each genotype must contain exactly two letters for that trait. The calculator also normalizes letter order so mixed-case entries like aA are treated as Aa. For the same trait, both parents must use the same letter family, or the cross is rejected as an input error.
Assumptions behind the output
This method is meant for basic classroom genetics problems and standard Punnett square probability. Real inheritance can differ when genes interact in more complex ways or when the trait does not follow a simple Mendelian pattern [1].