Guides / Troubleshooting

pack.mcmeta: pack_format numbers and the \"incompatible\" warning

One wrong integer makes Minecraft grey out your pack. Here is the format-to-version mapping, the supported_formats range that avoids the whole problem, and where the file must sit.

Nearly every "my pack shows as incompatible" is one number in one small file.

The file

{
  "pack": {
    "pack_format": 46,
    "description": "My pack"
  }
}

It must be named exactly pack.mcmeta and sit at the root of the zip — next to assets/ or data/, not inside a folder inside the zip. Zipping the containing folder instead of its contents is the second most common failure, and it looks identical to a wrong format number.

Resource packs and data packs use different numbers

This is the part that catches people: the two counters diverged years ago and are not interchangeable. A data pack using a resource-pack number is greyed out even though the number is "current".

Rather than memorising a table that goes stale every release, read the number off a vanilla pack for the version you are targeting — or let a generator fill it in.

supported_formats is the real fix

Pinning one integer means the pack breaks on the next release. A range does not:

{
  "pack": {
    "pack_format": 46,
    "supported_formats": { "min_inclusive": 42, "max_inclusive": 99 },
    "description": "My pack"
  }
}

pack_format stays as the primary declaration; supported_formats widens what the game accepts without the warning. For a pack that only adds textures or recipes — which is most packs — a wide range is honest, because nothing in it actually breaks between versions.

Description takes text components

"description": [
  { "text": "My pack ", "color": "gold" },
  { "text": "v2", "color": "gray", "italic": true }
]

Section-sign codes (§6) also still work, but the JSON form survives copy-paste through tools that strip control characters.

Overlays, for supporting several versions at once

"overlays": { "entries": [
  { "formats": { "min_inclusive": 42, "max_inclusive": 45 }, "directory": "older" }
] }

The older/ folder at the pack root is used only on those formats. This is how a single download supports two versions with different model formats, instead of shipping two zips.

Quick diagnosis

SymptomCause
Greyed out, "made for an older/newer version"wrong pack_format
Pack not listed at allpack.mcmeta not at zip root, or invalid JSON
Loads, textures missingpack format fine; the texture paths are wrong
Works in singleplayer, not on a serverdata pack in the wrong world folder

A trailing comma is invalid JSON and produces the "not listed at all" case, not an error message.

Generate a valid file for your pack type and target version — with supported_formats filled in — using the pack.mcmeta Generator.

Open the Pack.mcmeta Generator →

More guides

Browse all →

Looking for more Minecraft tools?

A suite of client-side generators, viewers and converters — all free, all in your browser.