How the Calculator Works
The morph calculator predicts what a clutch is likely to produce given two parents. Pick a species, pick a sire, pick a dam, see the outcome list. This page explains what's happening behind those numbers.
One species at a time
The calculator works on one species per session. A species selector sits above the parent cards and scopes everything below it: the animal picker only lists animals of that species, and the manual trait picker only lists that species' morphs. If you keep only one species (or the catalog only ships one), the species is auto-selected to skip the click.
Cross-species pairings (Ball Python × Boa, Corn Snake × Kingsnake) are intentionally not supported. Morphs are defined per species — an "Albino" Ball Python and an "Albino" Boa are different mutations at different loci, so a Mendelian Punnett square between them has no honest answer. Hybrids exist in the hobby; the math doesn't, and the calculator stays out of guessing.
Per-trait Punnett squares
Each trait the parents carry is worked out on its own. For every trait, the calculator builds a small Punnett square between the parents' genotypes and works out the offspring percentages.
For a recessive trait where both parents are 100% het, the textbook 1:2:1 splits into 25% visual + 50% het + 25% normal. The het and normal collapse into "possible het" — see Het percentages for the rule. End result: 25% visual + 75% "66% het."
The full inheritance rules live in Inheritance types. Each kind (recessive, codominant, dominant, polygenic, unknown) has its own per-trait math. Sex-linked traits use per-sex distributions — sons and daughters get different outcomes.
Combining multiple traits
When parents carry multiple traits, the calculator works out each trait on its own, then combines them. Every combination of one outcome per trait becomes a row in the result, and the row's probability is the per-trait probabilities multiplied together.
Example: Pastel (codominant visual) × Het Clown (recessive het 100%):
- Pastel: 50% Pastel, 50% Normal
- Clown: 25% visual Clown, 50% Het Clown, 25% Normal
- Combined (6 outcomes) — Pastel × Clown:
- 12.5% Pastel Clown
- 25.0% Pastel Het Clown
- 12.5% Pastel
- 12.5% Clown
- 25.0% Het Clown
- 12.5% Normal
The full result has six rows here; the calculator sorts by probability so the most likely outcomes are on top. Five traits between two parents lands somewhere around 30 to 60 outcome rows — the more traits in play, the longer the list.
Hiding the long tail
For complex multi-trait crosses, the result can grow into a long tail of unlikely outcomes — the kind that mathematically exist but you'll see once in 10,000 hatchlings. The calculator drops outcomes below roughly one in a thousand so the result list shows the realistic distribution rather than a pile of noise.
If you genuinely need to see the long tail (say, you're predicting how often an extremely rare outcome surfaces across many seasons), the per-trait numbers are still there — multiply them yourself on paper. The default view hides them because for the next clutch they're noise.
Lethal traits — the super is dropped, the rest rebalance
When a trait is flagged lethal-when-homozygous (Spider, Champagne, Hidden Gene Woma in Ball Pythons; Enigma in Leopard Geckos), the homozygous super is dropped from the outcome list before the trait is combined with the others. The remaining outcomes are re-totalled to 100%.
A Spider × Spider cross, after dropping the lethal super, gives 67% visual Spider + 33% normal — not 25% Super Spider + 50% Spider + 25% Normal. The note in the result reads roughly: "25% Super Spider — non-viable; remaining outcomes re-totalled." See Lethal flags for the full discussion.
Welfare flags do NOT affect the math
A trait can carry a welfare concern (Spider's wobble, Lemon Frost's iridophoroma) that is independent from the lethal flag. Welfare concerns are informational — the calculator does not adjust probabilities based on them. They surface on the public animal profile, not in offspring predictions.
See Welfare flags for the full table.
Compound names for allelic complexes
When two parents carry alleles at the same locus — an allelic complex like BluEL — the calculator emits compound homozygote outcomes with their named labels: BEL for any two BluEL alleles, Mystic Potion specifically for Mojave × Mystic. This is what makes the calculator different from a simpler independent-genes morph predictor.
Multi-locus compounds (Sunglow, Snow, RAPTOR, Blizzard) are different — they're flagged as unknown and return "outcomes vary" rather than an invented single-locus prediction. See Multi-locus compounds.
What the calculator does NOT do
- No clutch sizes. The calculator gives you probabilities, not "she will lay 6 eggs." Clutch size is species-specific, dam-specific, and largely random within those bounds. Pretending we can predict it would be wrong.
- No fertility or hatch rate. Some traits (Caramel Albinos, certain BluEL combos) are sometimes argued to have lower hatch rates. Those claims are inconsistent across breeders, so the calculator does not bake them in.
- No "assumed homozygous" for dominant traits. By convention, visual dominants are treated as heterozygous — see Inheritance types § Dominant. True homozygous dominants are uncommon enough that assuming them would over-predict visuals.
- No bloodline politics. A Pastel from line X and a Pastel from line Y are the same trait to the calculator. If you care about line provenance, that's notes-and-photos territory, not math.
- No cross-species pairings. Covered above — different species, different loci, no honest answer.
These aren't oversights — they're things that don't have honest answers, and the calculator stays out of them on purpose.