QOI

QOI — The Quite OK Image Format
The Quite OK Image (QOI) logo released to the public domain.

Every time an image is displayed on a hand-held device (cellphone) or other variant of a computer, someone has decided its format. The people who make up the webpage, program or whatever else is being made, have procedures to help them decide what to use. Users have no choice, they simply experience the consequences of choices made by others. The speed at which an image decodes introduces a delay (sometimes called latency) that can be annoying.

QOI = the Quite OK Image format for fast, simple, lossless compression. Compared to PNG = Portable Network Graphics format, it provides 20 – 50 times faster encoding, and 3 – 4 times faster decoding. Lossless images retain their fidelity. The alternative, lossy images, gradually loose their quality each time an image is re-encoded. The simplicity of QOI is found both in its code, which uses about 300 lines of C, a common programming language, and in its file format specification, that occupies a single page in PDF = Portable Document Format, a file format developed by Adobe in 1992 to describe documents, including text and image formatting information.

Dominic Szablewski has developed this file format. It is much better than quite OK because almost every other file format in current use, including JPEG, MOV, MP4, MPEG and PNG, “burst with complexity at the seams.” He adds that they “scream design by consortium… and “require huge libraries, are compute hungry and difficult to work with.”

Szablewski proposed the idea on GitHub, and paid attention to the more than 500 comments generated.

QOI implementations are found for many different languages/ libraries, including C, C#, Elixir, Go, Haskell, Java, Pascal, Python, Rust, Swift, TypeScript and Zig, among others. There are native applications, meaning that they can be run without any external software layers, as well as plugins for Gimp, Paint.NET and XnView MP. Szablewski does not expect it to appear in web browsers anytime soon. It will probably end up in games and other applications where there are performance issues.

Links to additional information:

YouTube video (1h20m)

Reference en-/decoder on Github

File Format Specification

Benchmark Results on 2879 different images

Test images in QOI and PNG format

The QOI-Logo is released as public domain under the CC0 License and may be freely used.

Note: On 2021-01-02, the content of this post was changed to eliminate references to gaming. A separate post about rendering content for video games will be written and published, later in 2022.