Minecraft texture pack not working? How to fix it
Most texture pack problems come from three things: the pack’s description file (pack.mcmeta on Java, manifest.json on Bedrock) is missing or in the wrong place, the pack was made for a different game version, or a texture is not at exactly the path Minecraft looks for. Find what you see below and apply the fix.
The pack is not in the list
Java only lists a pack when it finds a valid pack.mcmeta at the top level of the zip or folder.
- Nested folder: zipping the pack folder itself puts everything one level too deep (
MyPack.zip/MyPack/pack.mcmeta). Zip the contents of the folder instead. - Broken pack.mcmeta: a missing comma or quote makes it invalid JSON. On Java 26.3 a pack with no description is not listed either.
- Wrong folder: the zip must be in
resourcepacks, notshaderpacksormods. Use Options… > Resource Packs… > Open Pack Folder to open the right one. - Still downloading or blocked: browsers sometimes save a partly downloaded file as
.crdownloador.part. Download the pack again.
“Made for an older / newer version of Minecraft”
Java compares the pack format in pack.mcmeta with its own (26.3 uses 97.1). A pack that only changes textures usually still works if you click Yes, but missing or renamed textures can look wrong. The clean fix is to export the pack again for your version, or give it a compatibility range that includes it.
From 1.21.9, a pack with only a pack_format number, or with fields that break the new rules, can show as broken or incompatible. Newer packs use min_format and max_format. Every version’s pack format.

Purple and black blocks
The purple-and-black checkerboard is the “missing texture”. A model asks for an image that does not exist at that path: the file was renamed, put in the wrong folder, or the pack uses folder names from another version. For example, versions before 1.13 use textures/blocks and textures/items, while 1.13 and newer use textures/block and textures/item.
If you added custom models, check every texture path inside them. Packs made with the Texture Pack Maker use the exact paths of the version you picked.
Only some textures changed
- Name or path is off by a letter: the file must have exactly the same name and folder as the original. Java ignores paths with capital letters or spaces.
- Another pack wins: packs higher in the list replace the same textures. Move yours to the top.
- Wrong file for that block: some blocks use several images (the furnace front, side and top; the grass block top, side and side overlay). Edit all of them, or use the 3D preview to see which image goes where.
- Wrong image type on Bedrock: some vanilla Bedrock textures are
.tgafiles. Keep the same name and file type as the original so yours replaces it.
Grass and leaves look grey
That is normal in the image file. Grass, leaves, vines, water and a few other textures are stored in grey and coloured by the game for each biome, so paint them in light greys and check them in game. Painting them green makes them look much darker or oddly coloured once the game tints them.
An animated texture shows as a long strip
Animated textures are a tall image of frames stacked on top of each other, plus a .png.mcmeta file with the same name (for example sea_lantern.png.mcmeta). Without that file Java squashes the whole strip into one block. Bedrock lists animated textures in textures/flipbook_textures.json instead. The Texture Pack Maker writes these files when you edit animation frames.
All my resource packs turned off (Java)
When a resource pack contains a shader that does not compile, Java turns off every pack and goes back to the defaults. This happens with vanilla shader packs that were made for a different version, because Mojang changes those shader files often. Remove the pack or export it again for your exact version; every shader the Shader Maker writes is compile-checked first.
Bedrock: the import failed
- Import failed:
manifest.jsonis missing, invalid, or not at the top level of the file. Export the pack again and open the new file. - Duplicate pack: a pack with the same IDs and version number is already installed. Raise the version (the Texture Pack Maker does this on every export) or delete the old copy in Settings > Storage.
- Wrong file type: a Java
.ziprenamed to.mcpackdoes not work; Bedrock needs its own files and folders. Java vs Bedrock packs. - Console: Xbox, PlayStation and Switch cannot import files at all. Join a world, Realm or server that carries the pack.
Bedrock: imported, but nothing changes
- Activate it: Settings > Global Resources > My Packs, select the pack and press Activate. For one world, use Edit world > Resource Packs.
- Move it above other active packs that change the same textures.
- If the pack needs a newer game than yours, its
min_engine_versionis too high: update Minecraft or export with a lower minimum. - Packs made for classic graphics can look different, or be turned off, with Vibrant Visuals on. Try switching Graphics Mode.
A shader pack does not show up
- Iris and OptiFine shader packs go in the
shaderpacksfolder, opened from Options… > Video Settings… > Shader Packs…, not inresourcepacks. - Iris needs OpenGL. On Java 26.2 and newer, set Graphics API to Default or Prefer OpenGL if Iris says it cannot run with Vulkan.
- Vanilla (no-mod) shader packs are resource packs and only work on the version they were made for. Shaders without mods.
Questions
Why is my texture pack red in the Resource Packs list?
Red means the pack’s format does not match your game version. It may still work; export it again for your version to be sure.
Do I need to restart Minecraft after changing a pack?
No. On Java press F3 + T to reload resource packs, or turn the pack off and on. On Bedrock, leave and rejoin the world.
Why does a server change my textures?
Servers can send their own resource pack, which goes above yours. You can decline it in the server’s settings on the multiplayer screen, but some servers require it.