Overview
GIF (Graphics Interchange Format) remains one of the most popular formats for sharing pixel art animations on the web. Aseprite provides comprehensive GIF export capabilities with advanced options for color handling, transparency, and optimization.GIF animations are limited to 256 colors per frame and use indexed color mode. Aseprite automatically handles color conversion when exporting from RGB or grayscale sprites.
Quick Export
Open Export Dialog
Go to File → Export → Export as GIF or use File → Save Copy As and choose
.gif extension.GIF Limitations
GIF format is limited to 256 colors per frame. Aseprite will automatically generate an optimized palette from your sprite’s colors, but complex gradients or images with more than 256 unique colors will be quantized.
GIF Export Options
Loop Settings
- Infinite Loop
- No Loop
- Custom Loop Count
Animation repeats continuously.
This is the most common setting for animated GIFs on the web.
Interlaced GIF
What is Interlacing?
What is Interlacing?
Interlacing stores image data in a non-sequential order, allowing progressive rendering.How it works:
Pros & Cons
Pros & Cons
Advantages:
- Progressive loading on slow connections
- Low-resolution preview appears quickly
- Better perceived performance
- Slightly larger file size
- More complex encoding/decoding
- Less relevant with modern internet speeds
Color Handling
Palette Generation
When exporting RGB or grayscale sprites to GIF, Aseprite must convert to 256 colors:- Global Palette
- Local Palettes
- Preserve Palette Order
Single palette for the entire animation.Best for:
- Consistent colors across frames
- Smaller file sizes
- Sprites originally in indexed color
Aseprite generates an optimized global palette containing the most used colors across all frames.
Dithering Options
When converting to 256 colors, dithering can simulate unavailable colors:No Dithering
Each pixel mapped to nearest color
- Clean, sharp edges
- Color banding visible
- Best for pixel art
Ordered Dithering
Patterned dithering for gradients
- Visible pattern
- Retro aesthetic
- Good for gradients
Error Diffusion
Floyd-Steinberg dithering
- Natural appearance
- Less banding
- Can blur details
Old Dithering
Classic Aseprite dithering
- Legacy compatibility
- Specific pattern
- Nostalgic look
Transparency Handling
Transparent Color Index
Transparent Color Index
GIF uses a single color index to represent transparency.Aseprite automatically:
- Detects transparent pixels
- Assigns a transparent index
- Optimizes for transparency
- Fully transparent (alpha = 0)
- Fully opaque (alpha = 255)
- No partial transparency!
Transparency Threshold
Transparency Threshold
Determines when a pixel becomes transparent.
Background Color
Background Color
Color shown in transparent areas for viewers that don’t support transparency.Best practices:
- Match website background
- Use neutral colors (white/black)
- Consider viewer context
Frame Timing & Duration
GIF timing is specified in hundredths of a second (centiseconds).
- Frame Duration
- Speed Adjustments
Each frame’s display time in milliseconds (Aseprite) or centiseconds (GIF).Conversion:
GIF minimum timing is typically 20ms (2 centiseconds), though 0 is technically possible.
Disposal Methods
Disposal methods determine how frames composite:Do Not Dispose
Keep previous frame, draw new on top
- Best compression
- Accumulating changes
- Default for most animations
Restore Background
Clear to background before next frame
- Larger file sizes
- Required for transparency changes
- Clean slate each frame
Restore Previous
Restore to previous frame state
- Rarely used
- Complex animation needs
- Special effects
Aseprite automatically selects the optimal disposal method for maximum compression while maintaining visual accuracy.
Optimization Techniques
Reduce Color Count
Use fewer colors for smaller file sizes.
- Start with indexed color mode
- Optimize palette before export
- Remove unused colors
- Limit palette to 128 or 64 colors
Minimize Frame Changes
Only change pixels that need updating.
- Use disposal method “Do Not Dispose”
- Keep background static
- Animate only necessary elements
- Aseprite automatically optimizes frame bounds
Optimize Frame Timing
Reduce number of frames when possible.
- Remove duplicate frames
- Increase frame duration instead of duplicating
- Use longer delays for static moments
Reduce Resolution
Scale down for web delivery.
- 2x or 4x pixel art scales well
- Smaller dimensions = smaller files
- Maintain aspect ratio
Advanced Features
Frame Tag Export
Frame Tag Export
Export specific animation tags as separate GIFs.Workflow:
- Create animation tags in timeline
- Export with “Selected Frames” option
- Choose tag from dropdown
Layer Visibility
Layer Visibility
Control which layers are included in the export.Options:
- All layers (merged)
- Visible layers only
- Specific layer selection
Hide guide layers, reference images, or UI elements before exporting.
Canvas Cropping
Canvas Cropping
Automatically trim empty space.Types:
- Trim sprite: Remove empty borders from entire canvas
- Trim cels: Crop each frame individually
Common Issues & Solutions
File size too large
File size too large
Causes:
- Too many colors
- High frame count
- Large dimensions
- Complex animations
- Reduce color palette
- Lower resolution
- Remove duplicate frames
- Optimize with external tools
- Consider WebP format instead
Colors look wrong
Colors look wrong
Causes:
- Automatic color quantization
- Dithering artifacts
- Color profile issues
- Start with indexed color sprite
- Manually create palette
- Adjust dithering settings
- Use “Preserve palette order” option
Transparency issues
Transparency issues
Causes:
- Semi-transparent pixels
- Wrong disposal method
- Background color conflicts
- Flatten alpha to 0 or 255
- Check disposal method
- Set appropriate background color
- Test in target viewer
Animation plays at wrong speed
Animation plays at wrong speed
Causes:
- Frame duration too short/long
- Viewer ignoring timing
- Twitter/platform limitations
- Adjust frame duration in timeline
- Use minimum 20ms per frame
- Test in target platform
- Enable “Twitter compatible” export
First/last frame issues
First/last frame issues
Causes:
- Loop point mismatch
- Disposal method problems
- Ensure first and last frames connect seamlessly
- Check disposal method
- Add/remove frames to improve loop
- Use onion skinning to preview loop
Command Line Export
Automate GIF export with CLI:CLI export is perfect for build automation and batch processing.
GIF vs. Other Formats
- GIF vs. WebP
- GIF vs. APNG
- GIF vs. Sprite Sheet
| Feature | GIF | WebP |
|---|---|---|
| Colors | 256 | Millions |
| Transparency | 1-bit | 8-bit alpha |
| File size | Large | Small |
| Browser support | Universal | Modern |
| Animation | Yes | Yes |
Best Practices
Start with Indexed Color
Create sprites in indexed mode with optimized palette from the beginning
Test Loop Points
Use onion skinning to ensure smooth looping between first and last frames
Optimize for Platform
Consider file size limits and playback requirements of target platform
Preview Before Sharing
Test GIF in actual viewing context (social media, website, etc.)
Related Topics
File Formats
Compare GIF with other export formats
Sprite Sheets
Alternative for game development
PNG Sequences
Export individual frames

