Punnett Square Calculator

Punnett Square Calculator for monohybrid and dihybrid crosses. Generate gametes, visualize the Punnett grid, and compute genotype and phenotype probabilities with an accessible, mobile-first interface.

Full original guide (expanded)

Punnett Square Calculator

Model genotype and phenotype probabilities for single-trait crosses using a Punnett square.

Interactive Calculator

Choose cross type

Results

Cross type
Monohybrid
Unique genotypes
Unique phenotypes

Summary

Punnett Grid

Data Source and Methodology

Authoritative Data Source: OpenStax Biology 2e — Chapter 12: Mendel’s Experiments and Heredity (2018). Direct link. All calculations are strictly based on Mendelian inheritance rules (segregation and independent assortment) as described in this source.

Scope This calculator models complete dominance and independent assortment for one or two genes. It does not account for linkage, incomplete dominance, codominance, or epistasis.

Important: All calculations are strictly based on the formulas and data provided by this source.

The Formula Explained

$$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$$ $$\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$$ $$\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$$ $$\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$$

Formulas displayed in LaTeX notation. They describe gamete probabilities, offspring genotype probabilities, independence across genes, and phenotype rules under complete dominance.

Glossary of Variables

    - Parent 1 genotype (input): Letters representing alleles for 1 or 2 genes, e.g., Aa or AaBb. Uppercase denotes dominant allele, lowercase recessive.
    - Parent 2 genotype (input): Same format as Parent 1.
    - Cross type (input): Monohybrid (1 gene) or Dihybrid (2 genes).
    - Gamete: A haploid combination of one allele from each gene contributed by a parent (e.g., A, a, AB, Ab).
    - Punnett Grid: A matrix combining Parent 1 and Parent 2 gametes, showing offspring genotypes per cell.
    - Genotype probability (output): Sum of probabilities of all grid cells yielding that genotype.
    - Phenotype probability (output): Probability of dominant/recessive expression per gene, combined across genes.

Esempio Pratico Svolto

How it works: A step-by-step example

  1. Select Monohybrid.
  2. Enter Parent 1: Aa; Parent 2: Aa.
  3. Gametes: Each parent produces A (50%) and a (50%).
  4. Grid cells: AA, Aa, aA, aa. Canonical genotypes: AA, Aa, Aa, aa.
  5. Using the formula:
    AA = 0.5 × 0.5 = 0.25
    Aa = 0.5 × 0.5 + 0.5 × 0.5 = 0.5
    aa = 0.5 × 0.5 = 0.25
  6. Phenotypes (complete dominance): A_ (dominant) = 0.75; aa (recessive) = 0.25.

Frequently Asked Questions (FAQ)

What inputs are required?

Choose Monohybrid or Dihybrid, then enter genotypes for both parents using letters only. Two letters for monohybrid (e.g., Aa) and four letters for dihybrid (e.g., AaBb).

Can I use any letters for genes?

Yes. You can use any alphabetic letters. The calculator groups alleles by their letter, ignoring case, and orders genes alphabetically for output consistency.

How does the tool handle allele order like aA vs Aa?

Order does not matter. Internally, genotypes are canonicalized with uppercase before lowercase (e.g., Aa), ensuring consistent summaries and ratios.

Why might my dihybrid ratios differ from 9:3:3:1?

Classic 9:3:3:1 ratios assume both parents are heterozygous for both genes (AaBb × AaBb) with independent assortment. If parents are not both heterozygous, or alleles are not independent, the ratio changes.

Does this support sex-linked traits?

Not in this version. The calculator focuses on autosomal genes with complete dominance. Future updates may add X-linked modeling.

How precise are the percentages?

All computations are exact rational combinations of gamete probabilities. Values are displayed to one decimal place for readability and can be shown as fractions.

Can I export the grid?

You can copy results or print the page. A CSV export option will be added in a future release.


Audit: Complete
Formula (LaTeX) + variables + units
This section shows the formulas used by the calculator engine, plus variable definitions and units.
Formula (extracted LaTeX)
\[','\]
','
Formula (extracted LaTeX)
\[\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}\]
\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}
Formula (extracted LaTeX)
\[\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)\]
\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)
Formula (extracted LaTeX)
\[\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)\]
\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)
Formula (extracted LaTeX)
\[\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}\]
\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}
Formula (extracted text)
$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$ $\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$ $\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$ $\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$
Variables and units
  • T = property tax (annual or monthly depending on input) (currency)
Sources (authoritative):
Changelog
Version: 0.1.0-draft
Last code update: 2026-01-19
0.1.0-draft · 2026-01-19
  • Initial audit spec draft generated from HTML extraction (review required).
  • Verify formulas match the calculator engine and convert any text-only formulas to LaTeX.
  • Confirm sources are authoritative and relevant to the calculator methodology.
Verified by Ugo Candido on 2026-01-19
Profile · LinkedIn

Punnett Square Calculator

Model genotype and phenotype probabilities for single-trait crosses using a Punnett square.

Interactive Calculator

Choose cross type

Results

Cross type
Monohybrid
Unique genotypes
Unique phenotypes

Summary

Punnett Grid

Data Source and Methodology

Authoritative Data Source: OpenStax Biology 2e — Chapter 12: Mendel’s Experiments and Heredity (2018). Direct link. All calculations are strictly based on Mendelian inheritance rules (segregation and independent assortment) as described in this source.

Scope This calculator models complete dominance and independent assortment for one or two genes. It does not account for linkage, incomplete dominance, codominance, or epistasis.

Important: All calculations are strictly based on the formulas and data provided by this source.

The Formula Explained

$$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$$ $$\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$$ $$\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$$ $$\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$$

Formulas displayed in LaTeX notation. They describe gamete probabilities, offspring genotype probabilities, independence across genes, and phenotype rules under complete dominance.

Glossary of Variables

    - Parent 1 genotype (input): Letters representing alleles for 1 or 2 genes, e.g., Aa or AaBb. Uppercase denotes dominant allele, lowercase recessive.
    - Parent 2 genotype (input): Same format as Parent 1.
    - Cross type (input): Monohybrid (1 gene) or Dihybrid (2 genes).
    - Gamete: A haploid combination of one allele from each gene contributed by a parent (e.g., A, a, AB, Ab).
    - Punnett Grid: A matrix combining Parent 1 and Parent 2 gametes, showing offspring genotypes per cell.
    - Genotype probability (output): Sum of probabilities of all grid cells yielding that genotype.
    - Phenotype probability (output): Probability of dominant/recessive expression per gene, combined across genes.

Esempio Pratico Svolto

How it works: A step-by-step example

  1. Select Monohybrid.
  2. Enter Parent 1: Aa; Parent 2: Aa.
  3. Gametes: Each parent produces A (50%) and a (50%).
  4. Grid cells: AA, Aa, aA, aa. Canonical genotypes: AA, Aa, Aa, aa.
  5. Using the formula:
    AA = 0.5 × 0.5 = 0.25
    Aa = 0.5 × 0.5 + 0.5 × 0.5 = 0.5
    aa = 0.5 × 0.5 = 0.25
  6. Phenotypes (complete dominance): A_ (dominant) = 0.75; aa (recessive) = 0.25.

Frequently Asked Questions (FAQ)

What inputs are required?

Choose Monohybrid or Dihybrid, then enter genotypes for both parents using letters only. Two letters for monohybrid (e.g., Aa) and four letters for dihybrid (e.g., AaBb).

Can I use any letters for genes?

Yes. You can use any alphabetic letters. The calculator groups alleles by their letter, ignoring case, and orders genes alphabetically for output consistency.

How does the tool handle allele order like aA vs Aa?

Order does not matter. Internally, genotypes are canonicalized with uppercase before lowercase (e.g., Aa), ensuring consistent summaries and ratios.

Why might my dihybrid ratios differ from 9:3:3:1?

Classic 9:3:3:1 ratios assume both parents are heterozygous for both genes (AaBb × AaBb) with independent assortment. If parents are not both heterozygous, or alleles are not independent, the ratio changes.

Does this support sex-linked traits?

Not in this version. The calculator focuses on autosomal genes with complete dominance. Future updates may add X-linked modeling.

How precise are the percentages?

All computations are exact rational combinations of gamete probabilities. Values are displayed to one decimal place for readability and can be shown as fractions.

Can I export the grid?

You can copy results or print the page. A CSV export option will be added in a future release.


Audit: Complete
Formula (LaTeX) + variables + units
This section shows the formulas used by the calculator engine, plus variable definitions and units.
Formula (extracted LaTeX)
\[','\]
','
Formula (extracted LaTeX)
\[\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}\]
\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}
Formula (extracted LaTeX)
\[\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)\]
\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)
Formula (extracted LaTeX)
\[\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)\]
\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)
Formula (extracted LaTeX)
\[\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}\]
\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}
Formula (extracted text)
$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$ $\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$ $\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$ $\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$
Variables and units
  • T = property tax (annual or monthly depending on input) (currency)
Sources (authoritative):
Changelog
Version: 0.1.0-draft
Last code update: 2026-01-19
0.1.0-draft · 2026-01-19
  • Initial audit spec draft generated from HTML extraction (review required).
  • Verify formulas match the calculator engine and convert any text-only formulas to LaTeX.
  • Confirm sources are authoritative and relevant to the calculator methodology.
Verified by Ugo Candido on 2026-01-19
Profile · LinkedIn

Punnett Square Calculator

Model genotype and phenotype probabilities for single-trait crosses using a Punnett square.

Interactive Calculator

Choose cross type

Results

Cross type
Monohybrid
Unique genotypes
Unique phenotypes

Summary

Punnett Grid

Data Source and Methodology

Authoritative Data Source: OpenStax Biology 2e — Chapter 12: Mendel’s Experiments and Heredity (2018). Direct link. All calculations are strictly based on Mendelian inheritance rules (segregation and independent assortment) as described in this source.

Scope This calculator models complete dominance and independent assortment for one or two genes. It does not account for linkage, incomplete dominance, codominance, or epistasis.

Important: All calculations are strictly based on the formulas and data provided by this source.

The Formula Explained

$$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$$ $$\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$$ $$\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$$ $$\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$$

Formulas displayed in LaTeX notation. They describe gamete probabilities, offspring genotype probabilities, independence across genes, and phenotype rules under complete dominance.

Glossary of Variables

    - Parent 1 genotype (input): Letters representing alleles for 1 or 2 genes, e.g., Aa or AaBb. Uppercase denotes dominant allele, lowercase recessive.
    - Parent 2 genotype (input): Same format as Parent 1.
    - Cross type (input): Monohybrid (1 gene) or Dihybrid (2 genes).
    - Gamete: A haploid combination of one allele from each gene contributed by a parent (e.g., A, a, AB, Ab).
    - Punnett Grid: A matrix combining Parent 1 and Parent 2 gametes, showing offspring genotypes per cell.
    - Genotype probability (output): Sum of probabilities of all grid cells yielding that genotype.
    - Phenotype probability (output): Probability of dominant/recessive expression per gene, combined across genes.

Esempio Pratico Svolto

How it works: A step-by-step example

  1. Select Monohybrid.
  2. Enter Parent 1: Aa; Parent 2: Aa.
  3. Gametes: Each parent produces A (50%) and a (50%).
  4. Grid cells: AA, Aa, aA, aa. Canonical genotypes: AA, Aa, Aa, aa.
  5. Using the formula:
    AA = 0.5 × 0.5 = 0.25
    Aa = 0.5 × 0.5 + 0.5 × 0.5 = 0.5
    aa = 0.5 × 0.5 = 0.25
  6. Phenotypes (complete dominance): A_ (dominant) = 0.75; aa (recessive) = 0.25.

Frequently Asked Questions (FAQ)

What inputs are required?

Choose Monohybrid or Dihybrid, then enter genotypes for both parents using letters only. Two letters for monohybrid (e.g., Aa) and four letters for dihybrid (e.g., AaBb).

Can I use any letters for genes?

Yes. You can use any alphabetic letters. The calculator groups alleles by their letter, ignoring case, and orders genes alphabetically for output consistency.

How does the tool handle allele order like aA vs Aa?

Order does not matter. Internally, genotypes are canonicalized with uppercase before lowercase (e.g., Aa), ensuring consistent summaries and ratios.

Why might my dihybrid ratios differ from 9:3:3:1?

Classic 9:3:3:1 ratios assume both parents are heterozygous for both genes (AaBb × AaBb) with independent assortment. If parents are not both heterozygous, or alleles are not independent, the ratio changes.

Does this support sex-linked traits?

Not in this version. The calculator focuses on autosomal genes with complete dominance. Future updates may add X-linked modeling.

How precise are the percentages?

All computations are exact rational combinations of gamete probabilities. Values are displayed to one decimal place for readability and can be shown as fractions.

Can I export the grid?

You can copy results or print the page. A CSV export option will be added in a future release.


Audit: Complete
Formula (LaTeX) + variables + units
This section shows the formulas used by the calculator engine, plus variable definitions and units.
Formula (extracted LaTeX)
\[','\]
','
Formula (extracted LaTeX)
\[\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}\]
\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}
Formula (extracted LaTeX)
\[\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)\]
\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)
Formula (extracted LaTeX)
\[\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)\]
\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)
Formula (extracted LaTeX)
\[\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}\]
\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}
Formula (extracted text)
$\textbf{Gamete probabilities per gene:}\quad P(\text{allele }X)=\begin{cases} 1 & \text{if homozygous }(XX \text{ or } xx)\\ \tfrac{1}{2} & \text{if heterozygous }(Xx \text{ or } xX) \end{cases}$ $\textbf{Offspring genotype probability (one gene):}\quad P(G)=\sum_{g_1\in \mathcal{G}_1}\sum_{g_2\in \mathcal{G}_2} \mathbf{1}[\mathrm{combine}(g_1,g_2)=G]\; P(g_1)\,P(g_2)$ $\textbf{Independence across genes (dihybrid):}\quad P(G_{AB})=P(G_A)\cdot P(G_B)$ $\textbf{Phenotype rule (complete dominance):}\quad \text{Dominant phenotype if genotype contains at least one uppercase allele; otherwise recessive.}$
Variables and units
  • T = property tax (annual or monthly depending on input) (currency)
Sources (authoritative):
Changelog
Version: 0.1.0-draft
Last code update: 2026-01-19
0.1.0-draft · 2026-01-19
  • Initial audit spec draft generated from HTML extraction (review required).
  • Verify formulas match the calculator engine and convert any text-only formulas to LaTeX.
  • Confirm sources are authoritative and relevant to the calculator methodology.
Verified by Ugo Candido on 2026-01-19
Profile · LinkedIn
Formulas

(Formulas preserved from original page content, if present.)

Version 0.1.0-draft
Citations

Add authoritative sources relevant to this calculator (standards bodies, manuals, official docs).

Changelog
  • 0.1.0-draft — 2026-01-19: Initial draft (review required).