A simple, fast, lossless image format with compression comparable to PNG and a single-file C/C++ library.
QOI (Quite OK Image Format) is a lossless image compression format and single-file C/C++ library designed for high-speed encoding and decoding. It solves the need for a simple, fast alternative to PNG that maintains reasonable compression ratios without complex dependencies.
Developers and engineers working on graphics applications, game engines, embedded systems, or tools where fast image loading/saving and minimal library footprint are important.
Developers choose QOI for its exceptional simplicity, speed, and ease of integration—the entire reference implementation is a single header file with no dependencies, making it trivial to drop into projects.
The “Quite OK Image Format” for fast, lossless image compression
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
QOI encodes and decodes images significantly faster than typical PNG implementations, with benchmarks showing much higher throughput while maintaining comparable compression ratios.
The entire reference implementation is a single MIT-licensed C header file with no dependencies, making it trivial to integrate into any C/C++ project.
Preserves all original image data without any quality degradation, suitable for exact pixel reproduction in graphics and game assets.
Has an extensive ecosystem of community bindings for languages from Python to Rust, easing adoption in diverse tech stacks without reinventing the wheel.
QOI's compression ratio is generally worse than optimized PNG libraries like libPNG, as admitted in the README, leading to larger file sizes in some cases.
The standard implementation loads entire images into memory before processing, preventing streaming and limiting use with very large images exceeding 400 million pixels.
The QOI format is finalized with no versioning in the header, meaning it won't evolve to include new features or improvements, as stated in the README.
Unlike PNG, QOI isn't natively supported in all browsers and operating systems, requiring plugins or custom implementations for broad compatibility.