QOI — The Quite OK Image Format
A tiny, blazing-fast lossless image format you can implement in an afternoon.
Last updated: June 26, 2026
QOI (Quite OK Image) is a modern lossless image format created in 2021 with a single, refreshing goal: be almost as compact as PNG while encoding and decoding many times faster. Its entire specification fits on roughly one page, making it trivially easy to implement. QOI stores 8-bit RGB or RGBA pixels using a handful of compact chunk types, and it has become a favorite in game development and low-level programming. Snap2Format can convert QOI files to and from popular formats whenever you need broader compatibility.
What is QOI?
QOI, short for Quite OK Image, is a lossless raster image format built around radical simplicity. Where established formats like PNG rely on the multi-stage DEFLATE compression algorithm, QOI uses a tiny, purpose-built scheme that a programmer can read, understand, and implement in a single afternoon. The reference specification is famously short — about one page — yet it produces results that hold their own against far more complex encoders.
The format stores raw pixel data losslessly, meaning the image you decode is bit-for-bit identical to the one you encoded. It handles 8-bit-per-channel RGB and RGBA images, covering opaque and transparent artwork alike. QOI's reason for existing is speed: it encodes dramatically faster than PNG and decodes quickly too, while keeping file sizes in the same ballpark. That trade — comparable size, far less time and code — is exactly why it appeals to developers building real-time and tooling-heavy software.
The History of QOI
QOI was created in 2021 by Dominic Szablewski, a developer known online as phoboslab. He was frustrated that the common lossless image options were either slow, complicated, or bound up in large libraries, and he wondered how good a format could be if it prioritized simplicity above all else. The answer, shared publicly in late 2021, surprised many: a single-page specification that matched PNG's file sizes while running an order of magnitude faster.
The format struck a chord with programmers who appreciated being able to read the whole spec in minutes and write a working encoder and decoder without external dependencies. Within weeks, a vibrant community produced implementations in dozens of programming languages. QOI quickly became a popular teaching example and a practical choice for projects that value speed and minimal code, even though it remains young compared with decades-old standards.
How QOI Works
QOI compresses an image by walking through its pixels in order and describing each one with the most compact chunk available. Rather than a heavyweight compression stage, it relies on four simple strategies:
- Run-length chunks that record how many times the previous pixel repeats, ideal for flat areas of solid color.
- Index chunks that point back to a recently seen color held in a small running cache of 64 entries.
- Small-difference chunks that store only the tiny change from the previous pixel, which is common in smooth gradients.
- Full-color chunks that write out complete RGB or RGBA values when nothing smaller fits.
A short header records the image width, height, channel count, and color space, followed by the stream of chunks and an end marker. Because every operation is a simple byte comparison or addition, both encoding and decoding are extremely fast and require no large tables or dictionaries. This streamlined design is what gives QOI its signature combination of small code, low memory use, and high throughput.
Key Features of QOI
QOI deliberately keeps its feature list short, and that minimalism is the point. Its defining characteristics include:
- Lossless compression, so decoded pixels exactly match the original with no quality degradation.
- Exceptional speed, encoding often many times faster than PNG and decoding very quickly as well.
- A one-page specification that anyone can implement without external libraries.
- RGB and RGBA support at 8 bits per channel, including a full alpha channel for transparency.
- Tiny, dependency-free code that fits in a single small source file.
- Predictable, streamable structure that is easy to read and debug.
What QOI intentionally omits is just as telling: no lossy mode, no progressive loading, no metadata profiles, and no animation. By focusing narrowly on fast, simple, lossless storage, it does one job extremely well rather than trying to be everything to everyone.
Common Use Cases
QOI is most at home in software where speed and simplicity outweigh universal compatibility. Typical uses include:
- Game development, where textures and sprites must load and stream quickly, and the engine controls its own file pipeline.
- Programming tools and asset pipelines that compress and decompress huge numbers of images during builds.
- Caching and intermediate storage, where fast round-trips matter more than reaching the smallest possible size.
- Embedded and resource-constrained systems that benefit from tiny, dependency-free decoders.
- Learning and experimentation, since the simple spec makes it an ideal first image codec to implement.
QOI is a weaker fit for general web delivery or document exchange, where decades of PNG and JPEG support guarantee that any browser or app can open the file. In those scenarios, converting QOI to a mainstream format keeps the speed benefits during development while ensuring everyone can view the result.
QOI vs Other Image Formats
Compared with PNG, QOI delivers broadly similar lossless file sizes but encodes far faster — often dramatically so — and uses a fraction of the code. PNG, however, enjoys near-universal support and offers extras like interlacing and rich metadata that QOI omits by design. Against lossy formats such as JPEG, WebP, or AVIF, QOI is not competing on raw file size; those formats can shrink photographs much smaller by discarding detail, while QOI keeps every pixel intact.
The honest summary is that QOI is not trying to beat modern codecs on compression ratio. Its niche is the sweet spot of lossless quality, tiny implementation, and very high speed. If you need maximum compatibility or the smallest possible photo, choose an established format. If you control the pipeline and want fast, simple, lossless storage, QOI is hard to beat.
Tips for Working with QOI
Getting the most from QOI comes down to using it where it fits and converting where it does not:
- Keep QOI inside your own pipeline — use it for caches, build steps, and game assets rather than public downloads.
- Convert to PNG or WebP for sharing so recipients can open the image in any browser or editor without special software.
- Match the channel count to your needs; choose RGBA only when you genuinely require transparency to avoid wasting a channel.
- Expect PNG-class sizes, not photo-codec sizes; if minimal size is critical for photographs, reach for a lossy format instead.
- Lean on its simplicity when debugging — the format is easy enough to inspect and even reimplement by hand.
Treated as a fast, lossless workhorse rather than a delivery format, QOI rewards you with quick round-trips and remarkably little complexity.
QOI at a Glance
| Full name | Quite OK Image |
| File extension | .qoi |
| Developed by / Year | Dominic Szablewski (phoboslab), 2021 |
| Compression | Lossless (run-length, index, diff, and full-color chunks) |
| Transparency | Yes |
| Color support | 8-bit RGB and RGBA |
| Best for | Fast lossless storage in games and programming pipelines |
Advantages of QOI
- Lossless quality with no pixel degradation
- Encodes many times faster than PNG
- Specification fits on a single page
- Tiny, dependency-free encoder and decoder code
Limitations of QOI
- Not widely supported by mainstream apps and browsers
- Larger files than lossy formats for photographs
- No animation, lossy mode, or rich metadata
Convert QOI Files
Upload your QOI file to the Snap2Format converter, choose your output format (JPG, PNG, WebP, PDF and more), and download the result in seconds — free, with no signup.
QOI — Frequently Asked Questions
Yes. QOI stores every pixel exactly, so a decoded image is bit-for-bit identical to the original with no quality loss whatsoever.
QOI file sizes are broadly comparable to PNG. Its main advantage is not size but speed — it encodes far faster while keeping similar compression.
QOI uses a tiny set of simple chunk operations instead of a heavy compression algorithm, so encoding and decoding involve little more than basic byte math.
Not yet. QOI is not natively supported by mainstream browsers or most apps, so converting it to PNG or WebP is the easiest way to share or view it.
QOI was created in 2021 by Dominic Szablewski, known as phoboslab, who designed it to be a fast, lossless format simple enough to implement in an afternoon.
Explore Other Image Formats
Learn about the formats most often used alongside QOI: