In the Pokémon games, the player can capture a Pokémon he/she likes to have in his/her team, but mostly the catch doesn't succeed as they hope it to be. Each Pokémon has a catch rate. It depends on the Pokémon, the Pokémon's HP, and the type of Poké Ball the player uses.

The lowest catch rate is 3, which belongs to the Beldum family and almost every legendary Pokémon in the game. A low catch rate means that the Pokémon is very hard to catch, often meaning the player must use over 20 Poké Balls or more. The highest catch rate is 255, which belongs to small Pokémon such as Caterpie or Pidgey, which can be easily caught with a Poké Ball without the need to damage them.

Depending on the amount of HP, current status ailment, level of the Pokémon, and/or the Poké Ball being used, the chances may raise or lower. Because of this, the player may sometimes have to use stronger Poké Balls or more of them to catch the desired Pokémon. If an attempt to catch a Pokémon fails too many times, the Pokémon may flee.


The formulae for catch rate is more complex and different in each generation.

Generation I

In Generation I, the capture mode differs from the later generations. To determine the catch rate, there are important steps performed below. If, at any point, the Pokémon breaks free, the steps will never be performed.

1. If Master Ball is used, the Pokémon is always caught, no matter what.
2. Generate a random number, N, depending on the type of ball used.

Important formulae (always denoted in Θ (Theta)):

$ \Theta_{PokeBall} = rand(255) $

$ \Theta_{GreatBall} = rand(200) $

$ \Theta_{UltraAndSafariBall} = rand(150) $

3. The Pokémon is caught if...
  • If it is asleep or frozen and Θ is less than 25.
  • It is paralyzed, burned, or poisoned and Θ is less than 12.
4. Otherwise, if Θ minus the status threshold (above) is greater than the Pokémon's catch rate, the Pokémon breaks free.
5. If not, generate a random value (Denoted by the letter M).

$ M = rand(255) $

6. Calculate Λ.


$ \Lambda = \frac{\left ( \beta_{max} \times 255 \times 4\right )}{(\beta_{current} \times B)} $

beta_max - The maximum HP of a Pokémon
beta_current - The current HP of a Pokémon
B - The Poké Ball's integer

The minimum value of Λ is 1 and its maximum value is 255. The value of B is 8 if a Great Ball is used or 12 otherwise.

7. If Θ is greater than or equal to Λ, the Pokémon is caught. Otherwise, the Pokémon breaks free. In practical terms, lowering the target's HP to 1/3 of its maximum will guarantee capture with a Poké Ball, while lowering it to 1/2 will guarantee capture with a Great Ball.

If the Pokémon broke free, the steps below are performed to determine how many times the ball will shake.

1. Calculate δ:

$ \delta = \frac {\Omega \times 100}{B} $

Where the value of Ball is 255 for the Poké Ball, 200 for the Great Ball, or 150 for other balls.

2. If δ is greater than or equal to 256, the ball shakes three times before the Pokémon breaks free.
3. If not, use this formula.

$ x = \frac{\delta \times \Lambda}{255 + \rho} $

Where ρ is the status modifier. It is 10 if the Pokémon is asleep or frozen or 5 if it is paralyzed, poisoned, or burned.

4. If...

  • x < 10: the Ball misses the Pokémon completely.
  • x < 30: the Ball shakes once before the Pokémon breaks free.
  • x < 70: the Ball shakes twice before the Pokémon breaks free.
  • Otherwise, the Ball shakes three times before the Pokémon breaks free.

Approximated Probability

Using a simulation of the capture algorithm, a more straightforward and simple formula for the probability of catching a Pokémon was found.

$ Probability = \mu_{0} + \mu_{1} $


$ \mu_0 = \frac{\rho_{ailment}}{B_{mod} + 1} $


rho_ailment = 12 if poisoned, burned, or paralyzed, 25 if frozen or asleep, 0 otherwise.
B_mod = 255 if using a Poké Ball, 200 if using a Great Ball, and 150 otherwise.


$ \mu_1 = \left ( \frac {(\Omega + 1)}{(B_{mod} + 1)} \right ) \times \left ( \frac {(\Lambda + 1)}{256} \right ) $

  • Lambda is defined in the above section for the capture method.
  • Omega (catch rate) (given as an integer value) is stated on each individual Pokémon's article.

General Capture Method (Generation II onwards)

The capture algorithms in Generation II and onwards have three crucial parameters: the modified catch rate, the "shake probability", and the "shake checks". Generation II's shake checks handle differently than further generations.

Modified Catch Rate

The modified catch rate, Ω (Omega), is the catch rate after various factors such as weakening the Pokémon and using stronger Poké Balls are taken into consideration. A modified catch rate may never fall to 0 (that is, render a Pokémon impossible to capture), but it may cause the modified rate to fall below its original unmodified catch rate (such as from high health, Heavy Balls, Baiting in the Safari Zone, or the dark grass penalty in Generation V). In Generation III and Generation IV, the modified catch rate may never fall below 1.[1]

Shake probability

The shake probability, φ, is a value that determines the probability that a single shake check passes..

Shake checks

Shake checks are performed to determine whether the Pokémon will be caught or, if the Pokémon breaks free, the number of shakes that will occur before it does so. In Generation II, whether a Pokémon will be caught is determined before any shake checks are performed, and shake checks are only performed if the Pokémon is not caught.

Capture Method (Generation II)


The modified catch rate Ω (Omega) is calculated in Generation II as follows:

$ \Omega = \frac {(3 \times \beta_{max} - 2 \times \beta_{current}) \times R}{\left ((3 \times \beta_{max}), 1 \right ) + \rho_{status}} $

with the final value rounded down to the nearest integer, where

beta_max - The maximum HP of the targeted Pokémon
beta_current - The current HP of the targeted Pokémon
rho_status - The modifier for any status condition the Pokémon has (10 for sleep or freeze, 0 otherwise). It was intended to equal 5 for paralyze, poison, or burn, but due to a glitch, the game skips this check.
R - The catch rate of a Pokémon.
  • If 3 × Beta_max > 255, then both 3 × Beta_max and 2 × HPcurrent are halved twice (and rounded down after each division) for use in the formula, as the values used are unsigned 8-bit integers. If the latter product is 0, it is set to 1 instead.
  • If the Pokémon's HP is 342 or greater, the 3 × Beta_max value will be truncated and the subtraction may underflow, giving bizarre results and even making it possible for the game to freeze; however, no such Pokémon can be legitimately encountered in-game.
  • Ω is capped at 255.

Shake probability

The shake probability φ is determined from the table below, depending on the value of Ω.

Ω 0-1 2 3 4 5 6-7 8-10 11-15 16-20 21-30 31-40 41-50 51-60 61-80 81-100 101-120 121-140 141-160 161-180 181-200 201-220 221-240 241-254 255
φ 63 75 84 90 95 103 113 126 134 149 160 169 177 191 201 211 220 227 234 240 246 251 253 255

Shake checks

First, a check is performed to determine whether the Pokémon is caught at all. A random number between 0 and 255 is generated, and if this number is less than or equal to a, the Pokémon is caught.

Shake checks are only performed if the Pokémon is not caught. A single shake check consists of generating a random number between 0 and 255 and comparing it to b. This is done at most three times, but if the number generated in a given shake check is greater than or equal to b, no further shake checks will be performed. The number of times the ball shakes is the same as the number of shake checks that were performed.

Capture Method (Generation III-IV)

The modified catch rate, Ω, is calculated in Generation III and Generation IV as follows:

$ \Omega = \frac {(3\times \beta_{max}-2\times \beta_{current}) \times R \times \rho_{ball}}{3 \times \beta_{max}}\times \rho_{status} $


  • beta_max is the number of hit points the Pokémon has at full health,
  • beta_current is the number of hit points the Pokémon has at the moment,
  • R is the catch rate of the Pokémon (which may be modified due to use of apricorn balls or actions in the Safari Zone),
  • rho_ball is the multiplier for the Poké Ball used, and
  • rho_status is the multiplier for any status condition the Pokémon has (2 for sleep and freeze, 1.5 for paralyze, poison, or burn, and 1 otherwise).

The formula for R (the catch rates are denoted in η):

$ R = (\eta_1 \times n_1)+(\eta_2 \times n_2)... $

If a Pokémon could have 0 HP, the maximum value for a would be rate × bonusball × bonusstatus. For a Pokémon with full health and no status condition, and with a neutral ball used, the minimum value for Omega would be R/3.

The formula is slightly different when applied to the Apricorn balls in HeartGold and SoulSilver. The modifiers for these balls are applied directly to the Pokémon's catch rate, rather than in the formula. In this case, bonusball is always 1, and the catch rate cannot go higher than 255. This means that for Pokémon whose catch rate is already 255, such as Rattata, the Apricorn balls do not make the capture any more likely than a regular Poké Ball.

Shake Probability

The shake probability φ is calculated as follows:

$ \varphi = \frac{1048560}{\sqrt \sqrt (\frac{16711680}{\Omega})} $

The divisions and square roots all round down to the nearest integer.

Shake checks

To perform a shake check, a random number between 0 and 65535 (inclusive) is generated and compared to b. If the number is greater than or equal to b, the check "fails".

Four shake checks are performed. The Pokémon is caught if all four shake checks succeed. Otherwise, the Poké Ball will shake as many times as there were successful shake checks before the Pokémon breaks free.

If Omega is 255 or greater, the capture will always succeed and no shake checks will be performed.

Probability of capture

The probability "mu" of catching a Pokémon, given the values Omega and Phi calculated above, approximates φ/255. However, due to rounding errors produced when calculating φ, this approximation can be significantly inaccurate: all a values greater than 200, for instance, yield the same φ value, 65535 (which results in a 99.994% chance of a successful capture).

For a constant probability mu, the probability P that a player can capture the Pokémon with no more than tau tries is:

$ P = 1 - (1 - \mu)^\tau $

Note that this is the cumulative probability function for a geometric distribution. The expected value of tau is 1/mu, that is to say, on average, a Pokémon that can be caught with probability mu will be caught with 1/mu tries.

The inverse problem, the number of tries, tau, needed to have a probability P of capturing a Pokémon is:

$ \tau=log_{1-\mu}(1-P) $

Community content is available under CC-BY-SA unless otherwise noted.