Catch Rate Calculator
Exact catch probability for any wild Pokémon across every Poké Ball, status ailment, and health threshold.
Bulbasaur
BALL CONDITIONS & CONTEXT
Adjust situational triggers for balls like Dusk, Quick, Timer, Repeat, or Net.
POKÉ BALL COMPARISON
Odds of capture across HP benchmarks. Click any ball row to select it, or click an HP header to set current HP.
| BALL | 100% | 75% | 50% | 25% | 10% | 5% | 1% | MOD |
|---|
How Pokémon Catch Rates Work in Generation 3 and 4
The Capture Formula
Implemented directly from decompiled source code in pret/pokeemerald (commit 731ad5bf, function Cmd_handleballthrow) and pret/pokeplatinum (commit e038244f, function BattleScript_CalcCatchShakes). The initial catch value a is calculated as:⌊(⌊(catchRate × ballMod) / 10⌋ × (3 × maxHP - 2 × curHP)) / (3 × maxHP)⌋. Sleep and freeze multiply a by 2, while paralysis, poison, and burn multiply by 1.5 (⌊a × 15 / 10⌋). If a ≥ 255, the target is captured outright.
The Four Shake Checks
When a < 255, the game calculates the shake threshold b = ⌊1048560 / ⌊√(⌊√(16711680 / a)⌋)⌋⌋. Each of the 4 shakes generates a random 16-bit integer (0–65535). If all 4 checks fall below b, the Pokémon is captured. Per-throw capture chance is (b / 65536)⁴.
Ball Modifier Rules
Standard Poké Balls provide 1×, Great Ball and Safari Ball 1.5×, and Ultra Ball 2×. Net Ball is 3× if the target is Water or Bug type. Dive Ball is 3.5× in water encounters. Nest Ball uses max(10, 40 - targetLevel) / 10. Repeat Ball is 3× if caught before. Timer Ball modifier is computed as min(40, 10 + turnNumber) / 10. In Gen 4, Dusk Ball provides 3.5× at night or in caves, and Quick Ball is 4× on turn 1.