RPG XP and Level Curve Calculator for Game Designers
Choose a curve, set the base cost and see the XP to each level, the running total and how many hours it takes to reach the last level at your expected XP rate.
126.8 hours to reach the last level
| Level | XP to next | Total XP | |
|---|---|---|---|
| 1 | 100 | 100 | |
| 2 | 283 | 383 | |
| 3 | 520 | 903 | |
| 4 | 800 | 1,703 | |
| 5 | 1,118 | 2,821 | |
| 6 | 1,470 | 4,291 | |
| 7 | 1,852 | 6,143 | |
| 8 | 2,263 | 8,406 | |
| 9 | 2,700 | 11,106 | |
| 10 | 3,162 | 14,268 | |
| 11 | 3,648 | 17,916 | |
| 12 | 4,157 | 22,073 | |
| 13 | 4,687 | 26,760 | |
| 14 | 5,238 | 31,998 | |
| 15 | 5,809 | 37,807 | |
| 16 | 6,400 | 44,207 | |
| 17 | 7,009 | 51,216 | |
| 18 | 7,637 | 58,853 | |
| 19 | 8,282 | 67,135 | |
| 20 | 8,944 | 76,079 |
Picking a curve
Polynomial curves (cost = base × level^power) grow steadily and are easy to reason about. Exponential curves (each level costs a fixed percent more) get steep fast, so keep growth near 1.05 to 1.2 for long games.
The number that matters most is XP per hour. Playtest it, then adjust the base cost until the hours to max level match the length you want.
When to use it
Pacing a whole RPG
Check that the last level arrives near the end of the story rather than halfway through or after it.
Balancing enemy rewards
Once you know the XP per level, set enemy XP so that a level takes the number of fights you want.
Roguelites and battle passes
The same curve works for any progression bar: meta upgrades, weapon mastery or a season pass.
Go further
FREE EDITION10 Game Systems for Unity: Doors, Inventory, Save, Shop & RPG
Unity 6 · URP · C# source + demo
FREE EDITIONGame Dev Guides Bundle: 6 PDF Books for Indie Devs
PDF field guide · 12 pages
FREE EDITIONHorror Essentials: PSX Horror Template for Unity 6 & Godot 4
Unity 6 · URP · C# source + demo
Questions
One where early levels come quickly, so players feel progress, and later levels slow gradually. The best check is playtesting how long each level takes.
Paste it into a spreadsheet, or import it as a table or ScriptableObject data in your engine.
Yes. Any progression system with levels, such as battle passes, skill trees or reputation, can use the same curves.
Polynomial curves (level squared or cubed) grow steadily and suit most RPGs. Exponential curves explode at high levels, which works only with a level cap or prestige system.
Early levels often take a few minutes to hook the player; later ones 30 to 60 minutes. The hours column shows if the late game becomes a grind.