How the Minecraft server RAM calculator works
Server RAM is mostly eaten by two things: the software itself (vanilla is lean, a 200-mod kitchen-sink pack is a buffet) and loaded chunks, which scale with how many players are online and how spread out your world is. So this calculator starts with a base amount for your server type, adds a per-player increment, then nudges the total for world size and Minecraft version — newer versions generate taller, hungrier worlds. Finally it rounds up to the RAM tiers hosting companies actually sell (2/3/4/6/8/10/12/16 GB), because nobody rents 3.7 GB of RAM.
The result is an honest estimate for a normally-played server, not a guarantee. A server where everyone lives in one town needs less than one where ten players sprint in ten directions generating fresh chunks. When in doubt between two tiers, take the bigger one — but read the garbage-collection section below before you take the biggest one.
The formula (fully transparent)
Base by server type: vanilla 1 GB, Paper/Spigot 1.5 GB, light modpack 3 GB, heavy modpack 5 GB, kitchen-sink 7 GB. Per player: vanilla and Paper 0.05 GB (0.25 GB per 5 players), light modpack 0.10 GB, heavy 0.15 GB, kitchen-sink 0.20 GB — modded players load modded chunks, which cost more. World: fresh +0, established +0.5 GB, massive +1.5 GB. Version: 1.12-era −0.5 GB, 1.16–1.17 +0, 1.18+ +0.5 GB. The minimum-viable figure is 60% of the raw estimate rounded up to a tier (it boots, it runs, it lags during chunk generation), and the comfortable figure is one tier above the recommendation.
Worked example
A Paper server with 20 players, an established world, on 1.18+:
1.5 (base) + 20 × 0.05 (= 1.0 for players) + 0.5 (world) + 0.5 (version) = 3.5 GB raw → rounds up to a 4 GB plan. Minimum viable: 3 GB. Comfortable: 6 GB.
Translation: buy the 4 GB plan, and if half your players are the type to build a 40,000-hopper storage system, buy the 6.
Why more RAM isn't always better (the Java garbage collector's revenge)
Minecraft runs on Java, and Java periodically pauses everything to sweep dead objects out of memory — garbage collection. Here's the counterintuitive part: the bigger the heap, the more garbage piles up between sweeps, so an oversized allocation trades frequent tiny pauses for rare noticeable freezes. A 16 GB allocation for a 5-player Paper server is genuinely worse than 4 GB well-configured. If you run Paper or Spigot, start your server with Aikar's flags — a community-standard set of JVM arguments that tunes the G1 garbage collector for Minecraft's allocation patterns. They're free, they're on every Paper documentation page, and they fix more "lag" than a RAM upgrade ever will. Also remember that most in-game lag is TPS (CPU) lag: entities, hoppers, and redstone run on a single thread that no amount of RAM can widen.
Client vs server RAM, and how to shop for hosting
The most common mix-up we see: server RAM and client RAM are entirely separate budgets. The numbers on this page are for the machine hosting the world; each player's own PC separately needs 2–4 GB for the Minecraft client (more with shaders or a big modpack). Upgrading one never fixes the other. When shopping for a hosting plan, treat our recommended tier as the plan to buy and the minimum as the plan to tolerate; watch out for hosts selling raw RAM on ancient shared CPUs, because a 16 GB plan on a weak processor still runs at 12 TPS. One honest hosting tip: it's usually better to start one tier lower with a host that allows instant upgrades than to prepay a year of RAM your server may never use.