Skip to content

Resource packs

Minecraft resource pack folder structure and file names explained

Where every file goes in a resource pack: pack.mcmeta, pack.png, the assets folder, block and item paths and what changed in 1.13.

· Updated · 6 min read
Cover image: Minecraft resource pack folder structure and file names explained

A resource pack looks complicated until you see that it is only a folder tree with a few rules. The game reads files by their path, so the tree is the whole secret. This page shows the layout, the folders you will use most and the one big renaming that happened in Minecraft 1.13.

The top level

Two files sit at the top of the pack, next to a folder called assets.

  • pack.mcmeta is a JSON file with the pack format number and the description shown in the menu. It is required.
  • pack.png is the icon shown beside the pack name. A square picture, 128 by 128 or 256 by 256, works well. It is optional but helps.
  • assets is the folder that holds everything the pack changes.
mypack/
├─ pack.mcmeta
├─ pack.png
└─ assets/
   └─ minecraft/
      ├─ textures/
      │  ├─ block/
      │  ├─ item/
      │  ├─ entity/
      │  └─ gui/
      ├─ models/
      └─ lang/

Why the namespace is called minecraft

Inside assets, each folder is a namespace. Vanilla content uses minecraft. If you put your files into assets/minecraft, they replace or extend the game. If you create your own namespace, for example assets/myserver, the files only matter when a model or a command points to them. Custom items usually live in their own namespace so they never collide with vanilla files.

Block and item textures

The textures folder is organized by kind. Two folders matter most for a first pack.

  • textures/block holds block faces such as stone.png, oak_planks.png and grass_block_top.png. One block can use several files, for example grass_block_top, grass_block_side and dirt.
  • textures/item holds the icons of items such as diamond_sword.png, apple.png and bucket.png.

Rules for file names

  • Lowercase letters, numbers, underscores, dashes, dots and slashes only.
  • No spaces and no capitals. Stone.png is not the same file as stone.png on most systems.
  • Textures are PNG files. Their sides should be equal, and powers of two such as 16, 32, 64 and 128 are the safest sizes.

Animated textures

An animated texture, such as water or lava, is one tall PNG with all frames stacked from top to bottom, plus a text file with the same name and the extension .png.mcmeta that describes the timing. Each frame must be square, so a texture of 16 by 64 pixels has four frames. Generated single images are static, so start with static blocks and items and add animation later by hand.

Zip or folder?

For the game both work. While you build, keep a plain folder in the resourcepacks directory so you can swap a file and reload with F3 + T. For sharing, zip the contents of the pack so that pack.mcmeta is at the top level of the archive. A very common mistake is to zip the parent folder, which puts everything one level too deep and makes the game ignore the pack.

Checking that the pack loads

  1. Open Options, Resource Packs. Your pack should be listed with its icon and description.
  2. If it is missing, check that pack.mcmeta is valid JSON and sits at the top level.
  3. If it shows a red warning about the version, compare your pack format number with the table in the pack.mcmeta guide. The pack usually still works.
  4. If it loads but a texture does not change, compare the file path and name with the vanilla one letter by letter.

Written by

TextureCrafter Team

We build TextureCrafter, the AI Minecraft texture generator. The guides come from what we see when thousands of item, block and pixel art textures are generated, converted to real pixels and packed into resource packs.

More guides

RSS feed · All guides