pack_format numbers, version by version
5 min read
pack_format is the one number that decides whether Minecraft treats your pack as current or as something written for a different game. Here is what it does and what to set it to.
What it actually is
Every Java resource pack contains a file called pack.mcmeta at its root. It is small, and one number in it matters:
{
"pack": {
"pack_format": 88,
"description": "My texture pack"
}
}That number is a version of the pack layout, not of the game. Mojang increments it whenever they move, rename or restructure assets. It tells the game which arrangement of files to expect, which is why a mismatch produces missing textures rather than an outright failure — the game looks in the places that format implies and finds some of them empty.
The number for every version
These are the formats CreateTextures exports, taken from the same registry the editor uses.
| Minecraft version | pack_format |
|---|---|
| 26.2 | 88 |
| 26.1 | 84 |
| 1.21.11 | 75 |
| 1.21.9–1.21.10 | 69 |
| 1.21.7–1.21.8 | 64 |
| 1.21.6 | 63 |
| 1.21.5 | 55 |
| 1.21.4 | 46 |
| 1.21.2–1.21.3 | 42 |
| 1.21.1 | 34 |
| 1.8.9 | 1 |
What changed in 1.21.9
From format 69 onward, packs also carry a supported range rather than a single point, using min_format and max_format. A modern pack.mcmeta looks like this:
{
"pack": {
"pack_format": 88,
"min_format": [88, 0],
"max_format": [88, 0],
"description": "My texture pack"
}
}The plain pack_format key stays alongside them so older launchers and third-party tools still read something they understand. Widening the range is how a single pack declares support for several versions at once — though declaring support is not the same as actually having the right files for all of them.
Getting it wrong is survivable
Bedrock does not use this at all
There is no pack_format on Bedrock. Bedrock packs carry a manifest.json with UUIDs, a version array and a minimum engine version instead. The two systems have nothing in common, which is part of why packs do not transfer between editions — see Java vs Bedrock resource packs.
The short answer
Pick your Minecraft version in the editor before exporting and the correct number is written for you, along with the min/max pair when the version calls for it. The table above is here for when you are editing a pack.mcmeta by hand.
CreateTextures builds all of this for you — open the editor, edit what you want, and export a pack with the manifest, format number and folder layout already correct.
