The Hardy-Weinberg Principle, Explained (Why Dominant Doesn't Mean Common)
Before 1908, there was a reasonable-sounding argument floating around biology: if brown eyes are dominant over blue, shouldn't brown eyes gradually take over the population until blue eyes vanish altogether? It sounds almost obvious. It's also completely wrong, and the reason why is one of the tidiest pieces of mathematics in all of biology.
The Hardy-Weinberg principle says that in a population where nothing is disturbing it, gene frequencies stay exactly the same forever. Dominant alleles don't take over; recessive ones don't fade away. The equation p² + 2pq + q² = 1 predicts what proportion of the population will have each genotype. Real populations always break at least one of its conditions — which is precisely what makes it useful, because the size of the discrepancy tells you something is happening.
The Question It Actually Answers
Start with the misconception, because the principle only makes sense as an answer to it.
"Dominant" sounds like a competitive word. It suggests strength, winning, taking over. So people reasonably assumed that a dominant allele would spread through a population generation by generation until everyone had it.
But dominance describes something much narrower: which version of a gene gets expressed when you carry one of each. It says nothing whatsoever about how common that version is, or about whether carrying it helps you survive. Polydactyly — having extra fingers — is dominant and extremely rare. Blue eyes are recessive and common across much of northern Europe.
In 1908, two people answered the question independently within months of each other: G. H. Hardy, an English mathematician, and Wilhelm Weinberg, a German physician. Hardy wrote a short letter setting out the algebra, and was faintly apologetic about it — as far as he was concerned the mathematics was so simple it barely deserved stating. It's now in every biology textbook in the world, which would probably have annoyed him.
The answer they gave: nothing changes unless something changes it. Inheritance by itself doesn't shift allele frequencies at all. Shuffling a deck doesn't remove any cards.
The Equation, Term by Term
There are actually two equations, and mixing them up is where most confusion starts.
First: the alleles
Take a gene with two versions. Call the frequency of one version p and the other q. Since those are the only two options, they must account for everything:
Then: the individuals
But you don't meet alleles walking around — you meet organisms, and each carries two copies. There are three possible combinations, and the equation counts those:
| Term | Genotype | In plain language |
|---|---|---|
| p² | AA | Fraction who inherited the dominant version from both parents |
| 2pq | Aa | Fraction carrying one of each — the carriers |
| q² | aa | Fraction with two recessive copies — the only group whose recessive trait is visible |
| = 1 | everyone | The three groups are all the possibilities, so they must total 100% |
Why does 2pq have a 2 in front?
Because there are two different ways to end up as a carrier: dominant from your mother and recessive from your father, or the other way round. Both produce the same genotype, so you count both routes.
If you've drawn a Punnett square, you've seen this — the heterozygote appears in two of the four boxes while each homozygote appears in one. The equation is just a Punnett square scaled up from two parents to an entire population. If you want to see the square version alongside, a Punnett square calculator makes the connection concrete for a single cross.
A Worked Example
Working forwards
Suppose p = 0.7 and q = 0.3. Then:
- p² = 0.7 × 0.7 = 0.49 → 49% are AA
- 2pq = 2 × 0.7 × 0.3 = 0.42 → 42% are Aa carriers
- q² = 0.3 × 0.3 = 0.09 → 9% are aa
Check: 0.49 + 0.42 + 0.09 = 1.00. Every individual is accounted for.
Working backwards — the useful direction
In practice you can't see who's a carrier. Carriers look identical to AA individuals. The only group you can identify by eye is aa, because that's the only one showing the recessive trait.
That's enough. If 9% of the population shows the recessive trait, then q² = 0.09, so q = √0.09 = 0.3, so p = 0.7 — and now you can calculate the carriers you couldn't observe: 42%.
One visible number gives you the whole population's genetic structure. That's what the principle is for.
The real example that surprises everyone
Cystic fibrosis is a recessive condition affecting roughly 1 in 2,500 births in populations of European descent. So q² = 1/2,500 = 0.0004.
Sit with that gap. The condition appears in 1 in 2,500 people, but 1 in 25 carry the allele — a hundred times more common. Recessive alleles hide extremely effectively in heterozygotes, which is why rare genetic conditions keep appearing in families with no history of them.
You can check the logic runs both ways. For two random carriers to have a child with the condition, both parents must be carriers (1/25 × 1/25) and the child must inherit both recessive copies (1/4). That gives about 1 in 2,600 — which is the incidence we started from. The model is internally consistent. Chaining probabilities like that is easy to fumble by hand, and a probability calculator keeps it honest.
The Five Conditions (and Why Nothing Meets Them)
Hardy-Weinberg holds only if a population is left completely undisturbed. Specifically:
| Condition | Reality |
|---|---|
| No mutation | DNA copying is astonishingly accurate but not perfect. New alleles appear constantly. |
| No natural selection | Some genotypes survive and reproduce better than others. This is the whole of evolution. |
| Random mating | Nothing about human or animal mate choice is random with respect to inherited traits. |
| No migration | Individuals move between populations, bringing their alleles with them. |
| Infinitely large population | Every real population is finite, so chance alone shifts frequencies each generation. |
So why use a model that's never true?
This is the question students ask and textbooks often skip, and the answer is genuinely elegant.
Hardy-Weinberg is a null hypothesis. It describes what a population looks like when nothing is happening to it. So when you measure a real population and its genotype frequencies don't match the prediction, that mismatch is a signal: some force is at work, and the size and direction of the deviation tells you something about which one.
It's the same trick as the frictionless surface in physics. No such surface exists, and that isn't a flaw in the concept — it's the point. You describe motion with nothing acting on it, and then every departure from that baseline reveals a force. Hardy-Weinberg does exactly this for genes.
Population geneticists use it constantly for precisely this reason: fewer heterozygotes than predicted might indicate non-random mating or a hidden population structure, while a deviation at one specific gene against a genome-wide backdrop of agreement is a strong hint of selection acting on that gene. To try the arithmetic on your own figures — forwards or backwards — a Hardy-Weinberg calculator handles both directions and the equilibrium test.
Genetic Drift: What Happens When Populations Are Small
Of the five conditions, "infinitely large population" is the one that sounds like a technicality and turns out to matter enormously.
Think about coin flips. Flip a coin 10,000 times and you'll land very close to 50/50. Flip it 10 times and getting 8 heads wouldn't be remarkable at all. Small samples wander; large ones don't.
Passing alleles to the next generation is a sampling process, and it obeys the same rule. In a large population, chance deviations average out and frequencies stay put. In a small one, an allele can become more common — or vanish entirely — through pure luck, with no selective advantage whatsoever. That's genetic drift.
It's worth seeing rather than being told.
Six identical populations, left alone
Every population below starts with the allele at exactly 50%. There is no selection, no mutation, no migration — nothing but the luck of which copies happen to get passed on. Set the population size and run it.
A real simulation, not an animation: each generation draws 2N alleles at random from the previous one, which is the standard model of drift. Because it uses genuine randomness, every run differs — press "Run again" a few times at each size to see the pattern rather than one result.
Run it at 25 individuals a few times and you'll usually see at least one population lose the allele completely. Run it at 500 and the lines barely leave the middle. Nothing is selecting for or against anything in either case — the only difference is sample size.
This is why conservation biologists worry so much about small populations. A species reduced to a few dozen individuals loses genetic variation rapidly and irreversibly, regardless of how well it's protected afterwards. The same mechanism explains the founder effect: when a small group establishes a new population, whatever alleles they happened to be carrying become the entire genetic basis of everyone who follows.
The Takeaway
Hardy-Weinberg answers a question that sounds like it should have an obvious answer and doesn't: inheritance on its own changes nothing. Dominant alleles don't accumulate, recessive ones don't fade. Frequencies stay exactly where they are unless a specific force moves them.
Which means the equation is most valuable when it fails. A population that doesn't match the prediction is a population where something is happening — selection, drift, migration, non-random mating — and quantifying that gap is how a great deal of population genetics actually gets done. It's a baseline for measuring change, dressed up as a description of stability.
Try it on real numbers
Enter a genotype count or an allele frequency and watch the equilibrium proportions and the chi-square test fall out — forwards or backwards. Free, no sign-up, runs in your browser.
The genotype figures were checked by direct calculation: p = 0.7 gives 49/42/9, and a 1-in-2,500 recessive condition implies a carrier frequency near 1 in 25. The drift widget was validated against an independent simulation of 2,000 replicate populations.
Did this help? You can buy me a coffee.