QOI (Quite OK Image) MIME Type
image/qoi files are, how QOI compresses images, which applications open them, and how Poly supports them. MIME type details for image/qoi
In active use| MIME type | image/qoi |
|---|---|
| Extensions | .qoi |
| Magic number | 71 6F 69 66 |
| First standardized | 2022 |
| Created by | Dominic Szablewski |
| Browser support | |
| Example applications | GIMP, FFmpeg |
| Poly support | Partial. Poly can decode and process QOI when the file is classified as `image/qoi`, but filename-only inference does not currently map the `.qoi` extension. |
| Indexed by Poly | Partial. Correctly classified QOI images are indexed by filename, dimensions, and visual similarity. Text in the pixels is not OCR'd, and unlabeled `.qoi` files may be indexed only by name. |
| Preview in Poly | Partial. Correctly classified QOI files receive WebP thumbnails and open as a rendered still image. An unlabeled `.qoi` filename may miss the image pipeline. |
| Poly agent | Partial. After image processing, the Poly agent receives a rendered WebP thumbnail and can reason about visible content, not the original QOI byte stream. |
What is the image/qoi MIME type?
The image/qoi media type is used for QOI, the Quite OK Image Format. QOI is a compact, lossless raster format for 8-bit RGB and RGBA images. It stores one still image, may preserve a full 8-bit alpha channel, and does not define animation, layers, embedded text, EXIF, or ICC profiles.1
A QOI file normally uses the .qoi extension. Its first four bytes are ASCII qoif, or 71 6F 69 66 in hexadecimal. The 14-byte header then records width, height, channel count, and a basic colorspace flag. Pixel chunks follow, and the stream ends with seven zero bytes and a final 01 byte.1
image/qoi is a useful conventional identifier, but it is not listed in IANA's image media type registry. Some libraries use image/x-qoi instead. Treat those spellings as MIME aliases for the same file format, not as different versions of QOI.2Changing a filename to .qoi does not convert its contents. Check the qoif signature and decode the structure before trusting the extension or a supplied Content-Type header.
Why was QOI created?
Dominic Szablewski introduced QOI in 2021 and published the final version 1.0 specification on January 5, 2022.13 The design deliberately favors a small specification and fast, single-pass processing over an extensive feature set.
QOI walks the image from left to right and top to bottom. Each pixel is represented as one of six chunk forms: an exact value, a short run, a previously seen color, or a small color difference. Encoder and decoder share a 64-entry hash table of recently encountered pixels. This makes the codec straightforward to implement without building a complex compression pipeline.1
The creator's reference benchmarks reported QOI files around the size of PNG, with substantially faster encoding and decoding. Those results describe the reference benchmark corpus and implementations, not a guarantee for every image. The creator also notes that an optimized PNG encoder can compress more tightly.3
QOI compared with PNG
Both formats reproduce their decoded pixels losslessly, but they optimize for different jobs.
| Capability | QOI | PNG |
|---|---|---|
| Pixel types | 8-bit RGB or RGBA | Indexed, grayscale, or truecolor; 1 to 16 bits per sample |
| Transparency | 8-bit alpha with RGBA | Indexed or full alpha |
| Compression | Six simple pixel chunk forms | Scanline filters plus DEFLATE |
| Metadata and color | Informative sRGB/linear flag only | Extensible chunks, including ICC, EXIF, and text |
| Animation | No | APNG extension |
| Web browser support | No native support in major browsers | Broad native support |
The PNG specification includes integrity checks, progressive display, color management, metadata, and extensibility that QOI does not attempt to provide.4 QOI is attractive for controlled pipelines, game assets, tools, and interchange between applications that explicitly support it. PNG remains the practical choice for web delivery or broad compatibility.
How to open and convert a QOI file
Current major browsers do not natively display QOI. MDN's browser image guide does not include it among web-supported image formats, so serving a .qoi file in an <img> element is not a portable strategy.5
Use a QOI-aware application or library instead:
- GIMP can export a document as Quite OK Image by choosing the
.qoiextension or the QOI file type.6 - FFmpeg includes a QOI decoder and can convert a QOI still image into another supported format.7
- The reference project provides a small C encoder and decoder alongside test images.8
For example, an FFmpeg build with the QOI decoder enabled can convert to PNG:
ffmpeg -i input.qoi output.png
Convert to PNG when you need lossless web compatibility, metadata, or established color-management workflows. Converting to JPEG may save space for photographs, but JPEG is lossy and removes transparency. Keep the QOI original if exact pixel recovery matters.
Support in Poly
Poly has a QOI decoder in its image pipeline, but recognition has an important limitation. The internal media-type model knows image/qoi, and correctly classified files are decoded as still RGB or RGBA images. Poly then:
- Extracts pixel dimensions.
- Generates WebP thumbnails at its standard sizes.
- Opens the rendered result in the image viewer.
- Creates a visual embedding for similarity and file-based search.
- Makes the rendered thumbnail available to the Poly agent.
Poly's filename-only inference does not currently map .qoi, and its generic signature sniffer does not identify the qoif magic bytes. A .qoi upload that arrives without the image/qoi classification can therefore fall back to generic binary data and miss image processing. Supplying the MIME type avoids that limitation.
Plain QOI images are not OCR'd, so words drawn into the pixels are not searchable as text. The agent sees a generated WebP rendering, normally the largest thumbnail no greater than 1536 pixels on its longest edge. It does not receive QOI chunks or nonexistent format-level metadata.
Technical and security limits
QOI is intentionally narrow. The colorspace byte only distinguishes sRGB with linear alpha from all channels being linear, and the specification says this field is informative. There is no embedded ICC profile to describe a custom display space.1 Converting a wide-gamut or HDR source to QOI therefore requires reducing it to QOI's 8-bit channel model and managing color outside the file.
The header stores width and height as unsigned 32-bit integers. A decoder must validate dimensions and multiplication before allocating a pixel buffer. It should also reject malformed chunks, an incomplete pixel count, trailing inconsistencies, and a missing end marker. The four-byte signature identifies a candidate format, not a safe or valid image.
Footnotes
- Dominic Szablewski. The Quite OK Image Format Specification, Version 1.0. January 5, 2022. ↩ ↩2 ↩3 ↩4 ↩5
- Internet Assigned Numbers Authority. Media Types: Image Registry. The registry does not list
qoiorimage/qoi. ↩ - Dominic Szablewski. The QOI File Format Specification. December 20, 2021. ↩ ↩2
- World Wide Web Consortium. Portable Network Graphics (PNG) Specification, Third Edition. ↩
- MDN Web Docs. Image File Type and Format Guide. ↩
- GIMP Documentation. Export Image as Qoi. ↩
- FFmpeg. QOI Decoder Source Reference. ↩
- Dominic Szablewski. QOI Reference Implementation. ↩