XP Curve Calculator

This calculator models XP-to-next-level as a function of character level, for linear, exponential, or logarithmic curve shapes, and shows the full per-level and cumulative XP table. It runs entirely in your browser. For the design reasoning behind each curve shape, see the XP curve design guide.

Linear: XP added per level. Exponential: multiplier. Logarithmic: deceleration divisor.

How This Calculator Works

Each curve shape uses a specific formula for XP required to go from level L to L+1: linear adds a fixed amount per level, exponential multiplies the previous requirement by a constant rate, and logarithmic grows by an amount that itself shrinks as level increases. This is a simplified model — it doesn't know your content cadence or actual player earn rates, which is why it's meant to be used alongside the XP curve planning worksheet, not as a replacement for it.

FAQ: XP Curve Calculator

Which curve type should I use?

It depends on the pacing you want, not a universal rule. Linear suits games that want a steady, predictable pace. Exponential suits games with a fast early game and a long grindy tail for dedicated players. Logarithmic suits games that want quick early progress that gradually levels off. See the XP curve design guide (linked below) for the full reasoning.

What does "growth rate" mean for each curve type?

For linear, it's the flat XP amount added per level. For exponential, it's a multiplier applied each level (1.15 means roughly 15% more XP required per level). For logarithmic, it's a divisor that controls how quickly the growth decelerates — a smaller number decelerates faster.

Does this account for how much XP players actually earn per hour?

No — this calculator only models the XP required per level, not your game's XP-per-hour earn rate. Combine this with your own earn-rate data (or the XP curve planning worksheet) to convert level requirements into real playtime.

Can I use this for a live game, or only for planning a new one?

Both. For a live game, plug in your current formula to see the shape of what you already have, then experiment with the inputs to see how a change would ripple through every level before you commit to it.