Programming Complete IV Breeding Probability Calculator

Inspired by X-Act's IV probability calculator, I made one that considers all IVs, rather than just 31/Not 31. After some careful math, I figured out the algorithm for the probability, and it lines up with X-Act's numbers perfectly.

But now, instead of considering only 31s, you can input your own standards.

How to use:

1. Input the IVs of the 2 parents. Leaving it blank counts as zero.

2. Input the minimums you want out of the child. So if you put in a 20, it will calculate the probability of you getting a 20 in that stat, and anything higher than 20. Blanks still count as zeroes.

EDIT: You may use E or O for even or odd in steps one and two.

3. Press Calculate to determine the probability of you getting a child with your desired IVs. Displayed in both percentage and ratio.

- The Clear button erases all the IVs.
- Tabs horizontally for your convenience. You may change it to vertical tabbing.
- Clicking on the text that contains a row or column will clear that column. (ie: Clicking "HP" will clear the HP column, clicking "Parent 1" will clear the parent 1 row)
-In either parent row, if you insert a "*", it will be counted as whatever the target IV is.


1. Using Hidden Power > Get Type (or ctrl + H) opens a new window that lists off the Hidden Power types.

2. Select one and it will list off all even/odd combinations (or x for "doesn't matter") that would get you that type.

3. After selecting one, you may click "import selected" to transfer the evens and odds for that HP type to your target IVs.

-"Import Best" runs all HP type even/odd combinations against your parent IVs and chooses the best one to import to your target IVs. This might not work if all your parents' IVs are put in, since blank means zero.


1. Replace > Find New Parent (Ctrl + R) to open a window that has spots for IVs

2. Input IVs, this only takes in numerical information. The intent is to test if a child may replace a parent.

3. Click "Find". It will tell you for replacing each parent, if you:
A. Improve the probability of getting the desired IVs
B: If not A, then if you improve the overall IVs of the parent.

4. You must consider the gender situation of your pokemon at this point. If the programs tells you something that would cause conflict with genders, then you should not heed it. If replacing either parent yields improvement, then you should replace the one that is allowed. If replacing either parent is possible, then it is up to you what kind of improvement you want.

5. To replace a parent, click "Replace P1" to replace Parent 1, or "Replace P2" to replace Parent2. Personally, I recommend not clicking both on a single occasion.

Protip: If you want to minimize a stat, instead of maximize, subtract 31 from everything in that column to get the appropriate probability.

Note: This really only serves those who breed without RNG abusing.

Hope you guys like it.
New version. Smaller file, slightly faster program. Once HGSS breeding research is done (with the power items), I'll incorporate it in.

EDIT: Even newer version. Realized I had a chunk of unnecessary code, cuts time down in nanoseconds. Not that this is by any means slow, more like instantaneous.
I know no one is replying to this, but mediafire tells me some of you are using this. So I continue to update.

Anyway, MAJOR-ish updates.
-Slightly cleaner interface
-More accurate when rounding when displaying a ratio
-Evens and Odds and Hidden Power spreads incorporated, explained in the OP.
-Deciding between parents now possible with the "Replace Parent" feature, explained in the OP.

Edit: Sorry, link wasn't working. Now it is.