What an individual value is
Every Pokémon carries six hidden numbers, one per stat, fixed the moment it is generated and
never visible in game. Each runs from 0 to 31. They are the reason two Pokémon of
the same species, level and nature can have different stats, and they are the last thing standing
between a good Pokémon and an identical-looking bad one.
The effect is smaller than people assume at the levels most battles happen at. One point of an
individual value is worth one point of a stat at level 100 and half a point at level 50, so on
Garchomp, going from 0 to 31 is 31 Attack at level 100 but only
15 at level 50, where competitive play happens. HP behaves the same way:
15 points across the whole range at level 50. It is not nothing — 15 points of Speed
decides who moves first — but it is roughly what a third of your effort values buy you.
How this calculator reads them
The game does not hide the stats, only the inputs. A stat is a fixed formula of base stat,
level, nature, effort values and the individual value, so if you know everything except the
individual value, there is only one unknown left and it can be solved by trying all
thirty-two.
That is what this page does for each of the six stats separately: it computes the stat every
individual value from 0 to 31 would produce, and returns the ones that match the number you typed.
Often exactly one fits and you have your answer. Sometimes several fit, and the honest output is a
range rather than a guess.
Why a range instead of a number
Two individual values that differ by one can round to the same stat, especially at low levels
where the formula divides by 100 and throws away the remainder. At level 50 with no effort values,
neighbouring individual values collide constantly; at level 100 they almost never do. So the fix
for a wide range is not a better calculator, it is a better reading.
Narrowing a range
- Level it up. The single most effective move. The same Pokémon read at level
100 usually pins every stat to one exact value.
- Read it before you train it. A freshly caught or hatched Pokémon has zero
effort values in everything, which removes the input people most often get wrong. Once you have
fed it vitamins or beaten a few hundred things, you are guessing.
- Get the nature right. A wrong nature does not widen the range, it produces
a false one — the ten per cent multiplier moves the whole set of candidates.
- Fill in all six. Each stat is solved on its own, but a spread with one
impossible stat tells you an input is wrong before you act on the other five.
Hyper Training, and why it changes the question
Since Sun and Moon, Bottle Caps let a Pokémon at level 50 or above have a stat treated as if
its individual value were 31, without changing the hidden number itself. The summary screen then
shows the trained stat, so this calculator — which reads the displayed stat — will report 31,
which is correct for battle purposes and wrong about the Pokémon's actual genes.
In practice that makes individual values a fixable problem rather than a permanent one, and it
makes this page most useful for two things: checking a Pokémon before you spend Bottle
Caps on it, and confirming a trade or a raid catch is what it was claimed to be.
Where the numbers come from
Base stats are read from the same compiled Pokémon Showdown data set the rest of this site
uses, so a Mega form is solved against its Mega base stats rather than the base species. The stat
formula is the standard one used from Generation 3 onward, and it is the same code that powers the
damage calculator here. When you know the spread, take it to the
team builder and see what it does to the rest of the team.