.png and .mcmeta files. Access it at birdflop.com/resources/animtexture.
Features
- GIF to Minecraft texture conversion
- Static image support
- Custom frame timing per frame
- Bounce animation mode
- Synchronized duration mode
- Frame accumulation (combine multiple GIFs)
- Automatic dimension detection
- Direct Discord emoji support
- Minecraft chat preview
- PNG and MCMETA file generation
Getting Started
Upload or Link Image
Provide your source image:
- Upload: Select GIF or image from your device
- URL: Paste image URL (works with Discord emojis)
Configure Dimensions
Set texture size:
- Width and Height in pixels
- Enable “Lock Dimensions” for square textures
- Click refresh icons to detect original size
Adjust Frame Timing
For each frame:
- Set individual frame duration in ticks (1 tick = 1/20 second)
- Or enable “Sync Duration” to set all frames at once
Configure Options
- Bounce Animation: Makes animation reverse at end
- Add to Existing: Accumulate frames from multiple images
- Show Chat Preview: Preview as Minecraft chat sprite
Understanding Minecraft Animated Textures
Texture Format
Minecraft animated textures consist of:- PNG file: Vertical sprite sheet of all frames
- MCMETA file: JSON metadata with frame timing
Frame Layout
Frames are stacked vertically in the PNG:MCMETA Format
The.png.mcmeta file defines animation:
- index: Frame number (0-based)
- time: Duration in ticks (20 ticks = 1 second)
Uploading Images
From Device
Click “Select GIF or image from your device” and choose:- GIF files: Automatically extracts all frames
- PNG/JPG/WEBP: Creates single-frame animation
- Multiple files: Select multiple images to combine
From URL
Paste any image URL:- Direct image links (
.gif,.png, etc.) - Discord CDN links
- Image hosting services
Discord Emoji Direct Link
To get Discord emoji URL:- In Discord, type
\:emoji_name: - Send the message
- Copy the resulting emoji URL
- Paste into the tool
Texture Dimensions
Width and Height
Set the dimensions for each frame:- Common sizes: 16x16, 32x32, 64x64
- Custom sizes: Any size works, but power-of-2 is recommended
- Non-square: Disable “Lock Dimensions” for different widths/heights
Minecraft resource packs commonly use power-of-2 dimensions (16, 32, 64, 128) but any size is technically supported.
Lock Dimensions
When enabled, height automatically matches width (square textures). Recommended for:- Item textures
- Block textures
- Most UI elements
- Banners
- Special UI elements
- Non-square sprites
Auto-Detect Size
Click the refresh icon (↻) next to Width or Height to automatically set to the original image dimensions.Frame Timing
Individual Frame Duration
By default, each frame has its own duration control:- Measured in ticks (1 tick = 1/20 second = 50ms)
- GIF frames automatically import with original timing
- Adjust per frame for custom animations
- 2 ticks (0.1s): Very fast
- 5 ticks (0.25s): Fast
- 10 ticks (0.5s): Medium
- 20 ticks (1.0s): Slow
- 40 ticks (2.0s): Very slow
Sync Duration Mode
Enable “Sync Duration” to set all frames to the same duration. Use when:- All frames should display for equal time
- Converting static images to animation
- Creating consistent loops
Frame Management
For each frame:- View: See frame preview
- Edit timing: Adjust duration in ticks
- Remove: Click X to delete frame
Animation Options
Bounce Animation
When enabled, plays animation forward then backward:- Seamless loops
- Pulsing effects
- Smooth reversing animations
Add to Existing Frames
When enabled, new images append to current frames instead of replacing them. Use cases:- Combine multiple GIFs
- Add static frames to GIF
- Build complex animations from parts
- Load first GIF
- Enable “Add to existing frames”
- Load second GIF
- Continue adding as needed
Minecraft Chat Preview
Shows how the texture looks as a chat sprite using the modern font sprite system. Example usage:Chat sprites require proper resource pack setup. This preview simulates the appearance.
Using in Resource Packs
File Placement
Place files in your resource pack:Block Textures
Item Textures
Custom Textures
Referencing in Models
In block/item models:.mcmeta file and animates the texture.
Chat Sprites (Font)
For chat sprites, add to font JSON:Example Use Cases
Discord Emoji to Item
- Copy Discord emoji URL
- Paste into URL field
- Set dimensions to 16x16
- Adjust frame timing if needed
- Download PNG and MCMETA
- Add to resource pack as custom item texture
Loading Animation
- Upload GIF of loading spinner
- Set to 16x16 or 32x32
- Enable “Sync Duration” at 2 ticks
- Enable “Bounce” if appropriate
- Use for custom UI element
Fire Texture
- Upload fire GIF
- Size to 16x16 (or 32x32 for HD)
- Keep original frame timing
- Replace
minecraft:block/fire_0.png - Copy same files for
fire_1.png
Water Animation
- Create water flow GIF
- Size to 16x16 or higher
- Use slow frame timing (10-20 ticks)
- Replace
minecraft:block/water_still.png
Advanced Techniques
Multi-Stage Animations
- Create stage 1 animation (frames 1-10)
- Enable “Add to existing”
- Add stage 2 animation (frames 11-20)
- Add stage 3, etc.
- Result: Complex multi-part animation
Variable Speed Animations
Create pauses or speed changes:- Set fast sections to 2-5 ticks
- Set slow sections to 20-40 ticks
- Create dramatic timing effects
Seamless Loops
For perfect loops:- Ensure first and last frames are similar
- Or use “Bounce” mode
- Test in-game to verify smoothness
- Adjust final frame timing to match loop point
Performance Considerations
File Size
- More frames = larger PNG file
- Higher dimensions = larger file
- Many animated textures can increase pack size
Frame Count
- Under 16 frames: Minimal impact
- 16-32 frames: Moderate impact
- Over 32 frames: Consider if all are necessary
Dimensions
- 16x16: Standard, very efficient
- 32x32: HD, moderate impact
- 64x64: High-res, noticeable impact
- 128x128+: Significant impact, use sparingly
Common Issues
Animation Too Fast/Slow
Solution: Adjust frame timing- Too fast: Increase tick values
- Too slow: Decrease tick values
- Uneven: Adjust individual frames
GIF Not Loading
Check:- File is valid GIF format
- File size is reasonable (< 10 MB)
- URL is direct image link
- Discord URLs are converted to .gif
Texture Looks Pixelated
Solutions:- Increase dimensions before conversion
- Start with higher resolution source
- Use image upscaling before import
MCMETA Not Working
Verify:- File named exactly
texture.png.mcmeta(not.png.mcmeta.txt) - Valid JSON format (no syntax errors)
- Placed in same folder as PNG
- Resource pack loaded and enabled
Frames in Wrong Order
Solution: Import frames individually with “Add to existing” in the correct order.Resource Pack Integration
Basic Pack Structure
pack.mcmeta
pack_format for your Minecraft version.
Testing
- Place pack in
.minecraft/resourcepacks/ - Enable in Options → Resource Packs
- Check F3 screen for errors
- View texture in-game
Troubleshooting
Texture Not Animating
Check:- MCMETA file in correct location
- MCMETA syntax is valid JSON
- Resource pack is enabled
- Texture is actually being used
Wrong Speed In-Game
Remember: Server TPS affects animation speed- 20 TPS: Normal speed
- 10 TPS: Half speed
- Low TPS = slower animations
Transparency Issues
Ensure:- Source image has proper alpha channel
- PNG format (not JPG)
- Resource pack supports transparency for that texture
Related Tools
- Banner Generator - Create banner designs
- Animated TAB - Animate TAB plugin text
- RGBirdflop - Create gradient text