Making a Minecraft texture pack means building three things: a pack.mcmeta file, a pack.png icon, and an assets folder that copies the game's own texture paths, then swapping in your own PNG images over the top. No coding and no special software are required, just any PNG image editor and a way to zip a folder. This covers the Java Edition format; Bedrock uses a different one, covered near the end. If you are not sure a resource pack is the download type you actually want, see what resource packs, shaders, and mods each change before you start.
The three files every resource pack needs
Java Edition calls these downloads resource packs; players usually search for them as texture packs, since textures are the part almost everyone edits first. A resource pack can also change sounds, fonts, and models, but the folder it ships in always needs the same three things at its root.
- pack.mcmeta, a small JSON file naming the pack and the version range it targets.
- pack.png, a 128 by 128 pixel icon shown next to the pack's name in the in-game list.
- assets, a folder that copies Minecraft's own internal file paths so your PNGs override the matching vanilla ones.
pack.mcmeta holds two fields that matter: pack_format, a number tied to a range of Minecraft versions, and description, the short text shown under the pack's name. Both are required; a pack.mcmeta missing either one fails to load.
How the assets folder mirrors Minecraft's own textures
Everything under assets has to sit at the exact path the game already uses internally, spelling included, or your file is simply ignored instead of overriding anything. A custom stone texture goes at assets/minecraft/textures/block/stone.png, a custom zombie texture at assets/minecraft/textures/entity/zombie/zombie.png, and so on. There is no master list you fill in; you only add the files for the textures you are actually changing, and vanilla fills in everything else.
- textures/block for terrain and building blocks.
- textures/item for items and tools.
- textures/entity for mobs, players, and armor.
- textures/gui for menus, the hotbar, and icons.
- models and sounds for shape and audio changes, if you go beyond textures.
Editing textures and choosing a resolution
Any PNG editor works: GIMP, Paint.NET, Photoshop, Aseprite, or even Microsoft Paint, since a texture is just a small image with transparency where the block or item should show empty space. Vanilla Minecraft textures are 16 by 16 pixels each. You can go higher, and packs commonly ship at 32x, 64x, or 128x, but every texture in the pack has to scale up by the same multiple, or shapes and edges stop lining up in-game.
Setting the pack_format version number
pack_format tells Minecraft which versions your pack was built for. Load a pack with the wrong number and the game shows an incompatible pack warning before you can enable it; the pack still works past that warning most of the time, but it is a signal worth fixing rather than clicking through. The number changes with nearly every Minecraft release, sometimes more than once a version, so check the current pack_format table on the Minecraft Wiki rather than copying a number from an old pack. As of the current stable release, Java Edition 26.2, that number is 88; a pack aimed at an older or newer release needs whatever the table lists for it.
How to create a Minecraft resource pack step by step
- 1.Create a folder for your pack and name it whatever you want; the folder name itself does not matter to the game.
- 2.Add pack.mcmeta at the folder's root with your pack_format number and a short description.
- 3.Add your pack.png icon at the same root.
- 4.Build the assets/minecraft folder tree and drop your edited PNGs at the paths they are meant to override.
- 5.Select pack.mcmeta, pack.png, and the assets folder themselves, not the outer folder that contains them, and compress those three into a single zip file.
- 6.Load the zip the same way you would load any Java resource pack, then open a world and confirm your changed textures actually show up.
Frequently asked questions
How do I make a texture pack for Minecraft?
Build a folder with a pack.mcmeta file, a pack.png icon, and an assets folder that mirrors Minecraft's internal texture paths. Edit the PNGs you want to change with any image editor, keep every texture in the pack at the same resolution, then zip the three items and load the zip the same way you would load any other resource pack.
How do I make my own Minecraft resource pack?
The same steps: pack.mcmeta and pack.png at the root, an assets folder copying the paths of whatever you are overriding, and a pack_format number matching the Minecraft version you are targeting. "Resource pack" and "texture pack" describe the same download in Java Edition; resource pack is just the term the game's own menus use for it.
What is the difference between a texture pack and a resource pack?
None, on Java Edition. Resource pack is what Minecraft's own menus call the format, and texture pack is what most players call it, since textures are usually the part being changed. A resource pack can also swap sounds, fonts, and models, so "resource pack" is the more accurate term when a pack goes beyond textures. Browse the resource packs already on the site for examples of finished ones.
Which pack_format number should I use?
Whatever the Minecraft Wiki's current pack_format table lists for the version you are targeting. The number is not stable release to release, so a number copied from an old tutorial or an existing pack can be wrong for the version you actually want to support, and a wrong number shows players an incompatible pack warning.
Can I make a texture pack for Bedrock Edition the same way?
No. Bedrock resource packs use a manifest.json file with a UUID and version array instead of pack.mcmeta, and the folder layout underneath it differs too. The image editing part carries over, since both editions ultimately override PNG files, but the packaging format in this guide is Java only.



