Settings

Level range

Whole numbers from 0 to 9,999. Base values apply at the starting level.

Growth type
Stats
Growth per level

Decimals are fine. Negative growth makes a stat shrink; Base HP must be at least 1.

Level scaling (optional)

For tier jumps, class promotions or difficulty spikes. Applied on top of growth, and boosts compound.

Applied after growth and scaling. Exports use the rounded values.

Results

No results yet.

How the stat formulas work

Every formula uses n, the number of levels gained since the starting level. At the starting level n is 0, so each stat equals its base value.

Growth typeStat at level
Linearbase + growth × n
Percentagebase × (1 + growth% × n)
Exponentialbase × (1 + growth%)n

Linear growth is steady and easy to reason about, which suits stats players compare directly, such as Speed. Percentage growth adds the same share of the base value each level, so stats with higher bases gain more per level; it is still a straight line. Exponential growth builds on the previous level, so the curve bends upward and small rates add up fast.

With level scaling turned on, every stat is also multiplied by (1 + boost%)k, where k counts the milestone levels passed so far. Rounding is applied last.

Example: base 100, growth 10

LevelLinearPercentageExponential
1100100100
11200200259
314004001,745

With a base of 100, 10% of the base is exactly +10, so Linear and Percentage match here. Change the base and they separate.

Tips for balancing RPG stats

  • Check hits-to-kill at key levels. Divide enemy HP by the damage a same-level attacker deals, then compare level 1, the midpoint and the level cap. Large swings mean fights will feel very different as players level up.
  • Watch Attack against Defense. If damage is Attack minus Defense, Defense has to stay below Attack or fights stall. The balance check above the chart flags the level where that happens.
  • Use one curve for characters and enemies. Generate enemies with the same growth type, then raise base values for elites and bosses, or use level scaling for tier jumps.
  • Keep exponential rates small. 5% per level multiplies a stat by about 11 over 50 levels, and by about 130 over 100 levels.
  • Export and iterate. Load the JSON into Unity, Godot or Unreal data tables, or open the CSV in a spreadsheet, and re-run the generator whenever the design changes.

Using the exported data

The CSV has one row per level with the columns Level, HP, Attack, Defense, Speed. The JSON file keeps the settings next to the numbers, so you can regenerate the same table later:

{
  "tool": "RPG Stat & Balance Generator",
  "source": "GameDev Toolbox",
  "formatVersion": 1,
  "settings": { "startLevel": 1, "maxLevel": 50, "growthType": "linear", … },
  "levels": [
    { "level": 1, "hp": 100, "attack": 12, "defense": 8, "speed": 10 },
    { "level": 2, "hp": 115, "attack": 15, "defense": 10, "speed": 11 },
    …
  ]
}

Your data stays on your device

All calculations run in your browser with JavaScript. The values you enter are not uploaded, stored on a server or shared, and the site has no analytics. The small ad runs in a separate, locked-down frame that cannot see this page or anything you type. Read the privacy details.