Everything runs on your device. Templates, edits and zipping happen in the browser, so your datapack never gets uploaded anywhere.
data/mypack/function/setup.mcfunction
Drop the downloaded zip into your world's datapacks folder, then run /reload or re-open the world. Confirm it loaded with /datapack list.
A datapack is a zip with a pack.mcmeta file and a data folder of JSON and .mcfunction files. This studio writes both for you. Pick a namespace, add files from working templates, edit them in the code editor, and download a zip you can drop straight into a world. It supports versions from 1.14.4 up to 26.2, and runs entirely in your browser.
Every template starts from a valid, working example: a shaped recipe that crafts a diamond block, a loot table that drops a diamond, an advancement that fires when you pick one up. Change the ids and values to whatever you need. The file tree on the left shows exactly where each file lands under data/<namespace>/, and the path updates live as you rename files or switch version.
The pack opens with a small starter project: a setup function wired to a #minecraft:load tag so it runs on every /reload. That is the smallest datapack that actually does something, and a clean base to build on.
Two things change with the Minecraft version: the pack_format number in pack.mcmeta, and the names of the registry folders. Minecraft 1.21 renamed every folder from plural to singular (functions became function, loot_tables became loot_table). Pick a version in the tool and both adjust automatically, so your files always land where the game looks for them.
| Version | pack_format | Folder names |
|---|---|---|
| 1.16 - 1.16.5 | 6 | plural (functions, loot_tables) |
| 1.18 - 1.18.2 | 8 - 9 | plural |
| 1.19 - 1.19.4 | 10 - 13 | plural |
| 1.20 - 1.20.4 | 15 - 26 | plural |
| 1.20.5 - 1.20.6 | 41 | plural |
| 1.21 - 1.21.1 | 48 | singular (function, loot_table) |
| 1.21.5 | 71 | singular |
| 1.21.6 - 1.21.8 | 80 - 81 | singular |
| 1.21.9 - 1.21.11 | 88 - 94 | singular |
| 26.2 (latest) | 107 | singular |
The studio covers the file types most datapacks use. Each one is a separate registry under your namespace:
| File type | Path | What it does |
|---|---|---|
| Function (.mcfunction) | data/<ns>/function/ | A list of commands run by /function or a load/tick tag. |
| Loot table | data/<ns>/loot_table/ | Drops for a block, mob, chest or fishing roll. |
| Recipe (shaped/shapeless) | data/<ns>/recipe/ | Custom crafting recipes, grid-based or order-free. |
| Advancement | data/<ns>/advancement/ | Toasts, tab entries and hidden triggers for rewards. |
| Predicate | data/<ns>/predicate/ | Reusable conditions for loot tables and /execute if. |
| Item modifier | data/<ns>/item_modifier/ | Item transforms for /item modify and loot functions. |
| Tag (block / item / function) | data/<ns>/tags/ | Group ids under #namespace:id, or hook load and tick. |
1. Set a pack name, namespace and description. The description supports § color codes and shows a live preview.
2. Pick the version you are building for. The pack_format and folder names follow it.
3. Use Add file to drop in a template, then rename its id and edit the body. Reset template restores a fresh working example any time.
4. Click Download datapack zip, move it into your world's datapacks folder, and run /reload.
A datapack is a zip with a pack.mcmeta file and a data folder holding JSON and .mcfunction files. This tool builds both for you: pick a namespace, add files from working templates, edit them, and download the zip. Put the zip in your world's datapacks folder and run /reload. You do not need any software installed, it all happens in the browser.
Put the downloaded zip in .minecraft/saves/<your world>/datapacks/. In game, run /reload to pick up changes, or re-open the world. Run /datapack list to confirm it is enabled. On a server, drop the zip in the world's datapacks folder and run /reload from an operator account.
pack_format is a number in pack.mcmeta that tells Minecraft which data format the pack uses. Each version line has its own value (for example 1.20.5 is 41, 1.21 is 48, and 26.2 is the latest). This tool sets the right pack_format automatically when you pick a version, and adds a wide supported_formats range so the pack loads without the incompatible warning across nearby versions.
Minecraft 1.21 renamed the datapack registry folders from plural to singular: functions became function, loot_tables became loot_table, recipes became recipe, and so on, including the tag subfolders. A pack built for 1.21 or later must use the singular names or the game ignores the files. This tool switches the folder names automatically based on the version you select, so the same file lands in the right place either way.
Add a function tag with the id load (it goes to data/minecraft/tags/function/load.json) and list your function inside its values, like mypack:setup. Minecraft runs every function in the load tag once on each /reload. Use a tick tag the same way to run a function every game tick. The starter project this tool opens with already wires a load tag to a setup function.
No. Editing templates and zipping the pack all run in your browser using local code, so the page makes no network request with your datapack. Your files never leave your device and there is no watermark or account needed.
Browse more Minecraft tools: