Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Rust
  3. oxipng

oxipng

MITRustv10.1.1

A multithreaded lossless PNG/APNG compression optimizer written in Rust, usable via CLI or as a library.

GitHubGitHub
4.1k stars153 forks0 contributors

What is oxipng?

Oxipng is a multithreaded lossless PNG and APNG compression optimizer written in Rust. It reduces PNG file sizes without sacrificing image quality, making it faster and more efficient than many traditional single-threaded optimizers. It can be used via command-line interface or as a library in Rust projects.

Target Audience

Developers and system administrators who need to optimize PNG images for web performance, storage efficiency, or automated workflows, particularly those working with Rust-based toolchains or requiring high-speed batch processing.

Value Proposition

Oxipng offers superior speed through multithreading and Rust's performance advantages, while providing robust lossless compression. Its flexibility as both a CLI tool and library, along with features like alpha optimization and metadata stripping, makes it a versatile choice for modern image optimization pipelines.

Overview

Multithreaded PNG optimizer written in Rust

Use Cases

Best For

  • Reducing PNG file sizes for faster website loading times
  • Batch processing large collections of PNG images efficiently
  • Integrating PNG optimization into CI/CD pipelines or pre-commit hooks
  • Optimizing images with transparency (alpha channels) without quality loss
  • Self-hosting image optimization workflows using Docker containers
  • Building Rust applications that require embedded PNG compression libraries

Not Ideal For

  • Projects requiring exhaustive, brute-force compression to achieve absolute minimum file sizes
  • Teams heavily reliant on full animated PNG (APNG) optimization with frame transformations
  • Environments where Rust toolchain management is prohibitive and a simpler binary without library dependencies is preferred
  • Applications where altering pixel data in transparent areas is unacceptable due to strict integrity requirements

Pros & Cons

Pros

Multithreaded Performance

Leverages multiple CPU cores for concurrent image processing, making batch optimization significantly faster than single-threaded alternatives like OptiPNG.

Flexible Integration Options

Available as a CLI tool, Docker container, pre-commit hook, and Rust library, allowing seamless adoption in various development and deployment workflows.

Intelligent Alpha Optimization

Specifically targets transparent pixels to improve compression ratios without affecting visible quality, a feature highlighted in the README for handling images with alpha channels.

Metadata Control

Offers safe and all stripping options to remove non-essential metadata chunks, reducing file sizes for web use without compromising critical image data.

Cons

Incomplete APNG Support

Only provides limited optimization for animated PNGs, with transformations disabled, and the README explicitly recommends using other tools like apngopt for best results.

Non-Guaranteed Compression Gains

Higher optimization levels do not always yield smaller files, as oxipng is not a brute-force optimizer, which might disappoint users seeking maximum compression assurance.

Alpha Optimization Caveats

The alpha feature alters color values of fully transparent pixels, making it technically lossy and potentially unsuitable for applications requiring exact pixel data preservation.

Open Source Alternative To

oxipng is an open-source alternative to the following products:

O
OptiPNG

OptiPNG is a command-line utility for optimizing PNG image files by reducing file size without losing quality, using various compression and filtering techniques.

Frequently Asked Questions

Quick Stats

Stars4,106
Forks153
Contributors0
Open Issues31
Last commit4 days ago
CreatedSince 2016

Tags

#png#apng#pre-commit#image-optimization#cli-tool#web-performance#multithreading#png-optimization#lossless-compression#docker#image-compression#png-compression#rust

Built With

R
Rust
D
Docker

Included in

Rust56.6k
Auto-fetched 19 hours ago

Related Projects

vtracervtracer

Raster to Vector Graphics Converter

Stars6,456
Forks447
Last commit1 day ago
ImagerImager

Automated image compression for efficiently distributing images on the web.

Stars731
Forks38
Last commit5 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub