Java vs Bedrock texture packs: differences and how to convert
Java and Bedrock both have resource packs, but the files are not interchangeable. A Java pack is a .zip with pack.mcmeta and PNG textures under assets/minecraft/textures/. A Bedrock pack is an .mcpack with manifest.json and textures under textures/. To support both, you make the pack twice.
Side by side
| Java Edition | Bedrock Edition | |
|---|---|---|
| File | .zip (or a folder) | .mcpack (a renamed zip) |
| Description file | pack.mcmeta | manifest.json with two UUIDs and a version number |
| Version targeting | A pack format number, e.g. 97.1 for 26.3 | A minimum engine version, e.g. [1, 21, 0] |
| Texture path example | assets/minecraft/textures/block/stone.png | textures/blocks/stone.png |
| Image formats | PNG | PNG or TGA (keep the vanilla file’s extension) |
| Icon | pack.png | pack_icon.png |
| Installing | Drop into the resourcepacks folder | Open the file; Minecraft imports it |
| Shaders | Iris / OptiFine shader packs, or vanilla shader resource packs (1.17+) | No custom shader code; Vibrant Visuals settings packs |
| Skins | A PNG uploaded in the launcher or on minecraft.net | A skin pack (.mcpack) or a PNG imported in the Dressing Room |
| Consoles | Not applicable | Cannot import files; use a world, Realm or server that has the pack |
Texture differences to watch for
- File names differ between the editions, for example Java’s block/grass_block_top.png and Bedrock’s blocks/grass_top.png.
- Many Bedrock textures use their transparent pixels to store tint or dye masks, so editors must never throw away the colour of invisible pixels. The Texture Pack Maker keeps exact pixels.
- Java can mix versions in one pack with a compatibility range; Bedrock packs declare a single minimum version.
Can you convert a Java texture pack to Bedrock?
Yes, but not by renaming the file. A conversion means rebuilding the pack in Bedrock’s layout:
- Copy the images from
assets/minecraft/textures/into Bedrock’stextures/folders (block→blocks,item→items). - Rename files whose names differ, for example
grass_block_top.png→grass_top.png. Textures with no Bedrock counterpart are skipped. - Write a
manifest.jsonwith two new UUIDs, a version and amin_engine_version, and renamepack.pngtopack_icon.png. - Check the special cases: Bedrock animations are listed in
textures/flipbook_textures.jsoninstead of.png.mcmetafiles, and some textures are.tgafiles that store tint masks in their transparent pixels. - Zip the contents and rename the zip to
.mcpack.
Mojang’s own reference is Converting Texture Packs from Java Edition to Bedrock Edition. The simpler route for a small pack is to create a Bedrock project in the Texture Pack Maker and upload your Java images onto the matching Bedrock textures; it writes the manifest and keeps the exact Bedrock file names.
Is a .mcpack just a zip file?
Yes. An .mcpack is an ordinary zip with a different extension, so Bedrock knows to import it. Rename it to .zip to look inside. What makes it a Bedrock pack is its contents: manifest.json at the top level and Bedrock’s folder layout. .mcaddon files bundle several packs, and .mcworld files hold a whole world.
Making a pack for both
- Create a Java project in the Texture Pack Maker and paint your textures.
- Create a Bedrock project and repaint (or upload) the same textures there; the file list is Bedrock’s own.
- Export each one and share both files.
Questions
Can I convert a Java pack to Bedrock?
Not by renaming the file. The folders, names and description file differ, so the images have to be moved, renamed and given a manifest.json, as described above.
Can I convert a Bedrock pack to Java?
The same way in reverse: move the images into assets/minecraft/textures/, rename them to Java’s names, convert any .tga files to PNG and add a pack.mcmeta.
Why are some textures missing after converting?
Each edition has textures the other does not, and some are split or combined differently (for example chests, paintings and the GUI). Those need repainting for the other edition.
Which edition am I playing?
If you play on a console, phone or tablet, or got Minecraft from the Microsoft Store as “Minecraft for Windows”, it is Bedrock. Java runs on Windows, macOS and Linux from the Minecraft Launcher.