Image Optimizer
Batch image optimization with quantization, dithering, and GPU compression
Overview
The Optimizer tab provides batch image optimization with multiple techniques for reducing file sizes while preserving visual quality. It supports color quantization, dithering, resize, compression tuning, and GPU texture compression as a post-processing step.
Color Quantization
Reduce color palettes with 6 algorithms optimized for different content types.
Dithering
6 dithering methods to smooth color transitions after quantization.
Resize & Quality
Configurable resize, quality level, and format-specific compression settings.
GPU Compression
Apply GPU texture compression as a post-processing step with DDS/KTX2 output (Beta).
Color Quantization
Quantization reduces the number of colors in an image to compress file size. Choose the algorithm based on your content:
| Algorithm | Description | Best For |
|---|---|---|
| Median Cut | Classic palette generation via recursive color space subdivision | General purpose |
| Max Coverage | Maximizes coverage of the color range | Images with wide color spread |
| Fast Octree | Tree-based quantization, fast and memory efficient | Pixel art, retro graphics |
| libimagequant | High-quality external quantizer with perceptual optimization | Highest visual quality |
| pngquant | PNG-focused quantization (default) | PNG files, web assets |
| ImageMagick | Via Wand integration, broad format support | Complex or large images |
Dithering
Dithering helps smooth transitions between colors after quantization by introducing controlled noise patterns:
| Method | Description | Best For |
|---|---|---|
| None | No dithering applied | Pixel art, clean flat colors |
| Floyd-Steinberg | Classic error diffusion (default) | General purpose, smooth gradients |
| Ordered (Bayer) | 8×8 Bayer matrix ordered dithering | Retro look, consistent patterns |
| Blue Noise | Spectral noise-shaped dithering | Natural-looking results |
| Atkinson | Reduced error diffusion variant | Sharper output with less bleed |
| Riemersma | Hilbert curve-based diffusion | Fewer directional artifacts |
Color Modes
| Mode | Channels | Description |
|---|---|---|
| Keep original | Varies | Preserve the source color mode as-is |
| RGBA (32-bit) | 4 | Force to full color with alpha |
| RGB (24-bit) | 3 | Remove alpha channel |
| Grayscale + Alpha | 2 | Luminance with transparency |
| Grayscale | 1 | Single luminance channel |
Optimization Presets
Pre-configured settings for common workflows:
| Preset | Quantize | Dither | Max Colors | Use Case |
|---|---|---|---|---|
| Lossless | No | — | — | Recompress only, no color reduction |
| All Around | Yes | Floyd-Steinberg | 256 | Balanced quality and compression |
| Pixel Art | Yes | None | 256 | Clean edges, no dithering artifacts |
| Heavy Transparency | Yes | Floyd-Steinberg | 256 | Preserves alpha channel detail |
| Aggressive | Yes | Floyd-Steinberg | 64 | Maximum compression, lower quality |
| Custom | Configurable | Any | 2–256 | Full control over all parameters |
GPU Compression Post-Processing
The Optimizer can apply GPU texture compression as a final step, outputting DDS or KTX2 files. This is useful for preparing existing images for game engines without going through the full atlas generation pipeline.
See the GPU Texture Compression page for supported formats and external tool requirements.
Supported Input Formats
The Optimizer accepts these image formats as input:
- PNG (
.png) - JPEG (
.jpg,.jpeg) - BMP (
.bmp) - TIFF (
.tiff,.tif) - WebP (
.webp)
More resources
- GPU Texture Compression for BC, ETC, ASTC, and PVRTC details
- Supported Formats for complete input/output format lists
- User Manual for complete feature documentation