Minecraft Texture Studio

Java 26.1.2 · Fabric · v26
...
Edition:
1

Upload PNG files named after the texture you want to replace (e.g. pig.png)

2

The site auto-maps each filename to the correct path inside the resource pack

3

Download the .zip and drop it into your .minecraft/resourcepacks/ folder

📘 How It Works — Quick Guide

🗂 Naming Your Files

Just name each PNG after the texture you want to replace. The tool maps it automatically to the correct path.

Example Filenames
pig.png
entity/pig/temperate/pig.png
pig_cold.png
entity/pig/cold/pig.png
diamond_sword.png
item/diamond_sword.png
grass_block_top.png
block/grass_block_top.png
Pig_Warm.PNG
entity/pig/warm/pig.png (fuzzy)
🟢 Green dot = exact match  |  🟡 Yellow = fuzzy matched  |  🔴 Red = unknown, placed in textures/custom/

🚀 Installing Your Pack

Once downloaded, follow these steps to load your pack in-game:

  1. Build your pack using the button below — a .zip file will download.
  2. Open your Minecraft directory: press Win+R and type %appdata%\.minecraft
  3. Drop the .zip file into the resourcepacks/ folder. Do not unzip it.
  4. Launch Minecraft Java Edition and go to Options → Resource Packs
  5. Move your pack from the left column to the right, then click Done.
  6. Your custom textures are now active! 🎉
💡 Tip: For mob variants (e.g. cold biome pig), use names like pig_cold.png, cow_warm.png, wolf_ashen.png. Check the mapping table below for all 1,000+ supported names.

🎲 Smart Variant Filenames ETF / OptiFine

Name your PNG file with special modifiers separated by - and the tool will automatically parse conditions like weight, nametag, biome, and time of day — then generate an optifine/random/entity/ .properties file in the pack.

TEXTURE_KEY-lock-NtoM-nametag-NAME-Biomesspawn-BIOME1-BIOME2-day|night.png
Full Example
sheep_wool-lock-20to1-nametag-Dolly-Biomesspawn-tyga-Iplains.png
🔒 lock ⚖ 1:20 chance 🏷 Dolly 🌍 taiga, snowy_plains
TokenMeaningExample
TEXTURE_KEYBase texture to add a variant to (e.g. sheep_fur, sheep_wool)sheep_wool, pig, cow_warm
lockLocks the variant assignment per entity (stable via UUID)-lock
NtoMWeight — shows 1 out of N times (N=denominator, M=numerator)-20to1 (5% chance)
nametag-NAMEOnly show when entity has this nametag. Use = for spaces (PNG filenames can't contain spaces)-nametag-Dolly, -nametag-Charlie=Marco=the=second
Biomesspawn-BIOMEOnly show in these biomes (chain multiple)-Biomesspawn-tyga-plains
day / nightTime of day condition-day, -night
Biome AliasMaps toBiome AliasMaps to
tygataigaIplainssnowy_plains
forestforestdarkforestdark_forest
desertdesertmesa / badlandsbadlands
savanasavannaswampswamp
mountainswindswept_hillsmangrovemangrove_swamp
nethernether_wastesdeepdarkdeep_dark
Requires ETF or OptiFine: The generated .properties file needs the Entity Texture Features (ETF) Fabric mod or OptiFine installed in Minecraft to work. Conditions within one variant entry use AND logic — name a separate variant file for OR conditions.

🔤 CIT — Anvil Rename Textures v10 · OptiFine / CIT Resewn

⌨ Command-Only Item Textures v10 · CustomModelData

⚡ Use-State Textures v18 · Vanilla 1.21.4+

✨ Enchantment Textures v19 · Vanilla 1.21.4+

🛡 Worn Armor Enchantment Textures OptiFine · CIT Resewn

🎞 Item Animation Vanilla ✓

💔 Durability Textures v19 · Vanilla 1.21.4+

⬆ Upload Textures

🖼
The Drop Hub — throw anything Minecraft in here
Textures · models (.jem / .json) · particles · sounds (.ogg) · Fresh Animations & resource packs (.zip) — everything gets sorted automatically

🔍 Preview

⚙ Resource Pack Settings

✦ Minecraft Java 1.21.11 Pack Format: 57 Fabric ✓
+ Click to upload
Recommended 128×128 or 64×64 px
PACK.PNG
No image selected
PRESETS:

🔊 Custom Sounds OPTIONAL

✨ Custom Particles OPTIONAL

🧊 Custom Entity Models (CEM) OptiFine / ETF

🐾 Fresh Animations Patch FA + ETF/EMF ON

Replace Texture
FA Original
Your Texture
Drop PNG here

or click to browse
📋 Live .properties Preview

  

🎞 Animation .mcmeta Editor

Add animation metadata for textures (creates <texture>.png.mcmeta files in the ZIP).

📖 Filename Mapping Reference

Filename (PNG) Category Path in Pack

Language Files OPTIONAL

Add custom names for items, blocks and entities. Exported as assets/minecraft/lang/en_us.json.

🎨 Batch Edit Textures OPTIONAL

Select textures and apply filters to all at once.

0 selected
Brightness0
Hue Shift
Saturation0
Contrast0
🔍 PACK VALIDATION
3D Preview drag to rotate
MODEL PARTS
🎨 Create PNG
Create a blank canvas — choose a size, set a filename, then click Open in Editor to start drawing from scratch.
📋 Or press Ctrl+V to paste an image directly from your clipboard.
Canvas size:
Model type:
pixels
Editing: —
16×16
A:255
FROM
TOL 0
STYLE SIZE
MIX
50% · 50% =
FRAMES
CLICK A FRAME TO USE IT AS THE STARTING POINT
H
S 100%
L 50%
A 255
3D PREVIEW drag to rotate
LAYERS
📦 Import from Resource Pack
Select a .zip file to begin
🧊 MODEL BUILDER
ELEMENTS
No elements yet.
Click + Cube to start.
TEXTURES
Left-drag: orbit · Scroll: zoom · Right-drag: pan
PROPERTIES
Select an element
to edit its properties.
Ready — drag to orbit · scroll to zoom · right-drag to pan
🧊 MODEL STUDIO NAME TYPE TEMPLATE TEX TEX SIZE ×
MOVE/RESIZE = DRAG WITH MOUSE
ARROWS = NUDGE · CTRL+Z = UNDO
UV MAP
IN PACK: