What is the MCMETA file format?
.mcmeta is a plain-text JSON metadata file used by Minecraft (Java Edition), developed by Mojang Studios. The file stores configuration data for resource packs and data packs, as well as per-texture animation properties such as frame order, frame times, and interpolation settings.
.mcmeta files serve two distinct roles in Minecraft. The most important is pack.mcmeta, which sits at the root of every resource pack or data pack and declares the pack's format version and description. The second role is per-texture animation control: placing a .mcmeta file alongside a texture (for example, water_still.png.mcmeta) instructs the game how and when the animation frames will be played during gameplay.
Data in .mcmeta files are stored in plain text format, so pack creators can edit them without tinkering with the game's source code. The structure follows standard JSON notation, and a typical pack.mcmeta looks like:
{ "pack": { "pack_format": 34, "description": "My Resource Pack" } }
The pack_format number must match the target Minecraft version and increases with each major release - the value 4 shown in older tutorials applied only to versions 1.13-1.14.
Minecraft itself does not open .mcmeta files directly - it only references them when loading packs. Users can edit pack.mcmeta with any text editor such as Notepad or Visual Studio Code, or generate one using online tools.
Security & safety
RISK: LOWMCMETA files are plain-text JSON with no executable code or macros, so they are safe to open and read. The only practical risk is editing errors: invalid JSON (a missing comma or brace) or a wrong pack_format will make Minecraft reject the pack or show it as incompatible. Validate the JSON in an editor before loading. Packs themselves come from third parties, so trust the pack source as you would any download.
Format details
in a nutshellPrograms that open MCMETA files
Technical details
deep spec| File format | Plain-text UTF-8 JSON object; no binary content |
| MIME type | application/json |
| File naming convention | `pack.mcmeta` at the pack root, or `<texture>.png.mcmeta` alongside an animated texture file |
| Magic bytes | None - opens with `{` (standard JSON); no binary signature |
| Primary `pack.mcmeta` keys | `pack_format` (integer matching the target Minecraft version) and `description` (string or JSON text component) |
| `pack_format` evolution | Introduced as 1 in Java Edition 1.6.1; increments with each major release; reached the mid-30s by Java Edition 1.21.x |
| Texture animation keys | `frametime` (ticks per frame, default 1), `frames` (array of frame indices or objects), `interpolate` (boolean, default false) |
| Default animation frame rate | 1 tick per frame (20 frames per second at 20 ticks/s) when `frametime` is omitted from the animation block |
| File size | Typically under 1 KB; a minimal `pack.mcmeta` can be as small as 50-100 bytes |
| Platform scope | Java Edition only; Bedrock Edition uses `manifest.json` instead of `.mcmeta` |
| Pack types using `pack.mcmeta` | Resource packs, data packs, and world packs - all require `pack.mcmeta` at their root folder |
| Overlay support | Since Java Edition 1.20.2 (`pack_format` 18+), `pack.mcmeta` can declare overlay directories for version-conditional asset overrides |
| Encoding | UTF-8; BOM (byte order mark) not required and should be omitted |
| Developer | Mojang Studios (Microsoft) |
| Released | 2013 (resource/data pack metadata, Minecraft Java Edition 1.6/1.7) |
| Specification | minecraft.wiki |
MCMETA conversions
Community Q&A
asked by usersNo questions yet - be the first to ask about MCMETA files.