Paper vs Spigot vs Purpur
Updated · MCJarHub
For most plugin servers, use Paper. It runs almost every Spigot plugin, is faster, and has official one-click downloads. Pick Purpur if you want extra gameplay options on top of Paper, and Spigot only if a plugin explicitly requires it — Spigot is only available through BuildTools.
At a glance (live data)
Latest builds, Java requirement and file size of each, as synced from upstream. Versions count = Minecraft releases each has on MCJarHub.
| Software | Latest release | Java | File size | Versions on MCJarHub | Download source |
|---|---|---|---|---|---|
| Paper | 26.3 (build 227) | Java 25 | 52.7 MB | 55 (1.7.10–26.3) | Official (PaperMC build server) |
| Purpur | 26.3 (build 2654) | Java 25 | 55.4 MB | 41 (1.14.1–26.3) | Official (PurpurMC) |
| Spigot | 26.3 (build 4664) | Java 25 | 77.5 MB | 68 (1.8–26.3) | Community mirror |
| CraftBukkit | 26.2 | Java 25 | — | 51 (1.8–26.2) | Community mirror |
How they relate
These are one family tree, not three competing projects:
- CraftBukkit is the original implementation of the Bukkit plugin API.
- Spigot is a fork of CraftBukkit with performance fixes and extra API, maintained by SpigotMC. It defined the plugin API most plugins still target.
- Paper is a fork of Spigot by the PaperMC team, with many more performance and bug fixes and its own richer API on top of Spigot's.
- Purpur describes itself as "a drop-in replacement for Paper servers designed for configurability, new fun and exciting gameplay features" (Purpur README).
Because each builds on the one before, plugins flow downward: a Spigot plugin normally runs on Paper and Purpur, and a Paper plugin runs on Purpur — but not necessarily the other way round.
Feature comparison
| Spigot | Paper | Purpur | |
|---|---|---|---|
| How you get it | Build it yourself with BuildTools | Official downloads from PaperMC's build server | Official downloads from the Purpur API |
| Checksum published by upstream | No (built locally) | SHA-256 per build | MD5 per build |
| Runs Bukkit/Spigot plugins | Yes | Almost all | Almost all |
| Runs Paper-API plugins | No | Yes | Yes |
| Extra gameplay options | — | Mostly fixes and performance settings | Hundreds of options (e.g. rideable mobs) in purpur.yml |
| Licence | see upstream | see upstream | MIT |
| Builds of the newest version | — (built locally) | 139 | 21 |
"Builds of the newest version" counts the builds each project has published for its latest Minecraft version so far — a rough measure of how actively it is being fixed right now.
Which one should you choose?
Choose Paper if…
you run a normal plugin server — survival, SMP, minigames — and want the best-tested option. Paper has official, checksummed downloads for every version it supports, runs nearly all Spigot plugins, and most plugin developers test against it. Download Paper.
Choose Purpur if…
you want gameplay tweaks that would otherwise need plugins: rideable mobs, configurable mob behaviour and many quality-of-life switches. Purpur follows Paper closely, so you keep Paper's performance and plugin support. Download Purpur.
Choose Spigot if…
a plugin you need is documented to work only on Spigot, or you develop plugins and want to test against the plain Spigot API. Expect to build each version yourself with BuildTools. Spigot BuildTools guide.
Other Paper forks worth knowing: Pufferfish and Leaf focus on performance for large servers, Leaves restores vanilla mechanics for technical players, and Folia adds regionised multithreading for very large servers (with Folia-only plugins).
Switching from Spigot to Paper (or Paper to Purpur)
- Stop the server and make a full backup of the server folder.
- Download the build for the same Minecraft version you run now (for example Paper 26.3).
- Replace the old jar and start the server. Worlds,
plugins/andserver.propertiesare reused; Paper addsconfig/paper-global.ymlandconfig/paper-world-defaults.yml(older Paper versions:paper.yml). - Check the console for plugins that fail to load and update them.
Going back from Paper to Spigot is possible but loses Paper-only settings and plugins that need the Paper API.