XP Calculator & Enchantment Planner
Calculate XP and enchanting-table payments, then check gear compatibility. Vanilla Java Edition 1.20.4 only.
XP between levels
Whole levels, 0–10,000. Calculations assume an empty XP progress bar at both endpoints.
One enchanting-table payment
Read the option and level requirement from your in-game table. The requirement is the level you must have; the option number is the levels and lapis you spend.
Gear compatibility planner
Choose desired levels; zero means unselected. This checks maximum levels, item applicability and mutually exclusive enchantments for the listed items.
It does not calculate how to obtain them, book counts, anvil costs, prior-work penalties or combination order. Axes may require books for weapon enchantments. Treasure enchantments such as Mending are not offered by the table.
Desired enchantment levels
Compatibility result
Calculation reference — Java 1.20.4
Total XP from level 0: L² + 6L through level 16; (5L² − 81L + 720) / 2 through level 31; (9L² − 325L + 4440) / 2 above level 31. XP between levels is the difference between their totals.
| Level reached | Total XP from 0 |
|---|---|
| 1 | 7 |
| 16 | 352 |
| 17 | 394 |
| 30 | 1,395 |
| 31 | 1,507 |
| 32 | 1,628 |
Does a level-30 offer spend 30 levels?
No. The third option requires the shown level but spends 3 levels and 3 lapis. At exactly level 30 with an empty progress bar you finish at level 27; the XP equivalent is 306 points.
Will my gear plan appear in the table?
A compatible plan is a target loadout, not a prediction. Table offers are randomized and some enchantments require other acquisition methods.
Does this optimize anvil combinations?
No anvil model is implemented. Existing enchantments, repair history, material repair, renaming and merge order are not inputs. Use the in-game anvil preview to inspect a real operation.
Does this support Bedrock, newer versions or mods?
Only the stated Java 1.20.4 rules are supported here. Other editions, versions, custom enchantments, other items and partial XP bars are outside the calculated scope.
References: PrismarineJS enchantment data and EssentialsX 2.20.1 XP implementation. These are independent implementations, not an official live game API.