Optimize PNG
Reduce PNG file size with lossless optimization. Zero quality loss, guaranteed.
Drop images here or click to browse (up to 10)
JPEG, PNG, WebP, AVIF up to 50MB each
PNG Optimization Guide
Lossless
PNG optimization is lossless — every pixel stays exactly the same.
How It Works
OxiPNG finds the most efficient compression settings for your specific image.
Typical Savings
10-30% size reduction without any quality change.
Best For
Screenshots, graphics, logos, and any image where PNG quality is needed.
OxiPNG and Zopfli: How Modern PNG Optimization Achieves Smaller Files Without Quality Loss
PNG optimization is fundamentally different from lossy compression — it reduces file size while keeping every single pixel mathematically identical to the original. Krunkit uses OxiPNG, a multi-threaded PNG optimizer written in Rust, which evaluates different DEFLATE compression strategies, filter combinations, and chunk configurations to find the smallest possible encoding of the same pixel data. The result is a byte-for-byte visually identical image at a smaller file size, typically 15-40% smaller than unoptimized PNG output from design tools.
OxiPNG's approach involves testing multiple PNG filter strategies (None, Sub, Up, Average, Paeth) on each row of the image and selecting the combination that compresses most efficiently. Most design tools apply a single filter strategy to the entire image — Photoshop uses adaptive filtering, Figma uses the Sub filter. OxiPNG's exhaustive evaluation often finds a mixed-filter approach that compresses 10-25% better than any single strategy applied uniformly, particularly for images with varying content types across different rows.
For maximum compression, Krunkit can apply Zopfli-compatible DEFLATE compression, which produces smaller output than the standard zlib implementation at the cost of significantly longer encoding time. Zopfli, developed by Google, finds more efficient Huffman trees and LZ77 matches through iterative optimization. A typical 500 KB PNG screenshot optimized with Zopfli drops to 380-420 KB — an additional 5-8% beyond what standard DEFLATE achieves. This is worthwhile for frequently-served static assets.
Metadata stripping is the quickest PNG optimization win. Design tools embed text chunks (tEXt, iTXt), modification timestamps (tIME), color space data beyond what browsers use, and sometimes entire ICC profiles that add 2-100 KB per file. OxiPNG strips non-essential chunks while preserving critical data like the sRGB rendering intent flag. For a sprite sheet with 50 individual PNG assets, metadata stripping alone can save 100 KB to 5 MB depending on the export tool's verbosity.
Pro Tips
Run all PNG exports through OxiPNG before deployment
Design tools prioritize encoding speed over file size. Figma, Sketch, and Photoshop all produce PNGs 15-40% larger than necessary. A 30-second optimization pass through Krunkit reclaims this wasted space. For a UI kit with 200 icon PNGs, this typically saves 2-5 MB total with zero visual change.
Reduce color depth for simple graphics
If your PNG uses fewer than 256 distinct colors — typical for icons, logos, and simple illustrations — converting from 24-bit to 8-bit color depth reduces file size by 60-75%. OxiPNG can detect this automatically. A 45 KB icon at 24-bit drops to 10-12 KB at 8-bit with no visible difference.
Optimize PNG sprites and atlases for immediate loading speed gains
Game and app sprite sheets are often the largest single PNG files in a project, frequently exceeding 2 MB. OxiPNG optimization typically reduces these by 25-35% — a 2.5 MB sprite sheet drops to 1.6-1.8 MB. For mobile apps where download size affects install rates, this optimization directly impacts user acquisition.
Frequently Asked Questions
Is PNG optimization truly lossless?
Yes. PNG optimization reorganizes the compression without changing any pixel data. The output is pixel-identical to the input.
How much can I reduce PNG file size?
Typically 10-30%, depending on how the original PNG was created. Poorly optimized PNGs see larger reductions.
What optimizer do you use?
We use OxiPNG, a high-performance PNG optimizer written in Rust, compiled to WebAssembly.
Should I convert PNG to WebP instead?
If file size is your priority and you don't need lossless quality, converting to WebP gives larger reductions. But PNG optimization is lossless.
