Datapacks install into a specific world, not into Minecraft itself. The process everywhere: put the datapack zip into the world's datapacks folder, then either run /reload in-game or restart the server, and confirm with /datapack list that the pack shows green. In singleplayer the folder is .minecraft/saves/<world name>/datapacks; on a server it is world/datapacks inside the server directory.
That is the entire happy path. Below: finding the folders on each OS, what /datapack can do beyond listing, installing packs before a world is created, and the troubleshooting table for packs that load red or load green and still do nothing.
Tested on: Minecraft Java Edition 1.21.4, singleplayer and vanilla dedicated server. Datapacks are a Java Edition feature. Bedrock uses a different system (behavior packs); if you run a crossplay server through Geyser, datapacks work fine because they run entirely server-side; see our crossplay guide.
Datapack or mod? Thirty seconds of orientation
A datapack changes game data the vanilla engine already knows how to read: recipes, loot tables, advancements, world generation, and functions (sequences of commands). It needs no mod loader, works on a vanilla server, and travels with the world folder. A mod changes the game's code and needs Fabric or NeoForge on every client and/or the server.
The rule of thumb: if it adds new blocks, items with custom behavior, or rendering changes, it is a mod, go read the Fabric mod install guide. If it tweaks drops, recipes, mob behavior through functions, or terrain generation, a datapack can do it and every player connecting to your server gets it automatically, with no client install.
Installing in singleplayer
- Download the datapack. It should be a
.zipthat directly containspack.mcmetaand adatafolder at the top level (more on this in troubleshooting). - Open the world's folder. The fastest route is in-game: Singleplayer, select the world, Edit, Open World Folder. Manually:
%appdata%\.minecraft\saves\<world>on Windows,~/Library/Application Support/minecraft/saves/<world>on macOS,~/.minecraft/saves/<world>on Linux. - Drop the zip into the
datapacksfolder inside it. Do not unzip unless the pack's instructions say to; both forms work, but a zip-inside-a-folder does not. - If the world is open, run
/reload(requires cheats enabled for the world, or open to LAN with cheats). Otherwise just open the world; packs load at world load. - Verify:
/datapack listshows the pack in green under "available and enabled".
Installing at world creation is cleaner for worldgen packs: on the Create New World screen, the More tab has a Data Packs button; drag the zip onto the window and move the pack to the Selected column. World generation datapacks (custom biomes, structure sets) generally must be present at creation; adding them later only affects newly generated chunks, the same chunk-boundary logic explained in our world generation deep dive.
Installing on a server
- Stop the server, or plan to
/reloadafter the copy. - Upload the zip to
world/datapacks/(the folder named bylevel-namein server.properties;worldis the default). On a rented server, use the panel's file manager or SFTP. - Start the server or run
reloadfrom the console. - From the console or as a level 2+ op:
datapack listto confirm green.
Three server-specific notes. First, the pack goes into the overworld's folder only; the Nether and End dimensions are part of the same world and pick it up automatically (on Paper, where dimensions are split into separate folders, the datapacks folder of the main world still governs all three). Second, datapacks that rely on functions with elevated permissions respect function-permission-level in server.properties, default 2, which is fine for nearly every pack. Third, datapacks count toward tick time: a poorly written pack that runs heavy functions every tick is a lag source that shows up clearly in a spark profile under command function execution.
The /datapack command
/datapack list shows enabled packs in green, disabled packs in red, in load order. The rest of the family:
datapack disable "file/packname.zip" turn a pack off without deleting it
datapack enable "file/packname.zip" turn it back on (loads last)
datapack enable first|last "..." control load position
datapack enable before|after "..." "..." load relative to another pack
Load order matters when two packs touch the same data, for example two packs both modifying the piglin bartering loot table: the one loaded later wins entirely for that file. There is no merging. If you run many packs, decide the winner deliberately with enable before/after.
/reload re-reads every datapack from disk. Two caveats: it pauses the game noticeably on servers with many packs (players see a freeze, schedule it accordingly), and certain things only apply at world load, notably worldgen data, so /reload is not always enough; restart when in doubt.
Troubleshooting: red packs and silent packs
The pack shows red in /datapack list. It failed validation. The most common cause by far is double-zipping: the zip contains a single folder which then contains pack.mcmeta, instead of pack.mcmeta at the zip root. Open the zip and check; if there is a wrapper folder, re-zip the contents, not the folder.
"Made for an older/newer version" warning at world load. The pack_format number in pack.mcmeta does not match your game version. The world asks for confirmation and usually loads the pack anyway; most packs written for nearby versions work. If the pack touches worldgen or commands that changed between versions, get the version matching your server. This is the same version discipline as with mods: check before upgrading the server.
The pack is green and does nothing. Three usual causes, in order of frequency: the pack needs a newly generated world or new chunks (worldgen packs); the pack has a companion resource pack you also need to install client-side (custom item textures travel separately, the download page will say so); or another pack loaded after it overwrote the same data file, check /datapack list order.
Functions complain about permissions. Raise function-permission-level only if the pack's documentation explicitly says so. Raising it lets pack functions run higher-privilege commands; treat it like opping the pack's author.
FAQ
Where is the datapacks folder?
Inside each world: .minecraft/saves/<world>/datapacks in singleplayer, world/datapacks on a server. It is created with the world; if it is missing, you are looking at the wrong folder level.
Do players need to install datapacks to join my server? No. Datapacks run entirely server-side. The exception is a companion resource pack for custom textures, which clients get via the server resource pack prompt or a manual install.
Why is my datapack red in /datapack list? It failed to validate, almost always because the zip has a wrapper folder around pack.mcmeta. Re-zip so pack.mcmeta sits at the root of the archive. Version mismatch and corrupted downloads are the other causes.
Can I add a datapack without restarting the server? Yes: upload it to world/datapacks and run /reload from the console. Worldgen packs are the exception; they need a restart and only affect newly generated chunks.
Do datapacks work with Fabric or Paper servers? Yes. Datapacks are a vanilla feature and load identically on vanilla, Fabric, NeoForge, and Paper servers, alongside any mods or plugins.
Updated for Minecraft 1.21.4 on June 11, 2026. When a new version ships, commands and folder paths are re-checked and this log is updated.




