QOI Format Guide
Available Conversions
Convert QOI to AVIF for next-gen web compression and modern delivery
Convert QOI to BMP format for Windows compatibility and uncompressed image storage
Convert QOI to EPS for professional print and publishing workflows
Convert QOI to GIF format for web graphics and simple animations
Convert QOI to ICO format for Windows icons and favicons
Convert QOI to JP2 for professional imaging applications
Convert QOI to JPG for universal compatibility and easy sharing
Convert QOI to PCX for legacy software compatibility
Convert QOI to PNG for lossless compression with transparency support
Convert QOI to PPM for image processing pipelines and scientific computing
Convert QOI to TGA for game development and 3D rendering
Convert QOI to TIFF for professional editing and print production
Convert QOI to WebP for modern web optimization and efficient compression
Convert QOI lossless images to ICNS for macOS application icons
Convert to QOI
Convert Sony RAW photos to QOI for fast lossless compression
Convert AVIF images to QOI for fast lossless compression
Convert BMP images to QOI for fast lossless compression
Convert Canon RAW photos to QOI for fast lossless compression
Convert Canon mirrorless RAW photos to QOI for fast lossless compression
Convert DirectDraw Surface textures to QOI for fast lossless compression
Convert Adobe DNG RAW files to QOI for fast lossless compression
Convert EPS print artwork to QOI for fast lossless compression
Convert Epson RAW photos to QOI for fast lossless compression
Convert GIF images to QOI for fast lossless compression
Convert GoPro action camera RAW photos to QOI for fast lossless compression
Convert Apple HEIC photos to QOI for fast lossless compression
Convert ICO icons to QOI for fast lossless compression
Convert JPEG 2000 images to QOI for fast lossless compression
Convert JPEG photos to QOI for fast lossless compression
Convert Kodak RAW photos to QOI for fast lossless compression
Convert Kodak Professional RAW photos to QOI for fast lossless compression
Convert Mamiya RAW photos to QOI for fast lossless compression
Convert Minolta RAW photos to QOI for fast lossless compression
Convert Nikon RAW photos to QOI for fast lossless compression
Convert Nikon compact RAW photos to QOI for fast lossless compression
Convert Olympus RAW photos to QOI for fast lossless compression
Convert ZSoft Paintbrush images to QOI for fast lossless compression
Convert Pentax RAW photos to QOI for fast lossless compression
Convert PNG images to QOI for fast lossless compression
Convert Portable Pixmap images to QOI for fast lossless compression
Convert PSD Photoshop files to QOI for fast lossless compression
Convert Fujifilm RAW photos to QOI for fast lossless compression
Convert Panasonic RAW photos to QOI for fast lossless compression
Convert Leica RAW photos to QOI for fast lossless compression
Convert Sony RAW 2 photos to QOI for fast lossless compression
Convert Samsung RAW photos to QOI for fast lossless compression
Convert SVG vector graphics to QOI for fast lossless compression
Convert TGA textures to QOI for fast lossless compression
Convert TIFF images to QOI for fast lossless compression
Convert WebP images to QOI for fast lossless compression
Convert Hasselblad RAW photos to QOI for fast lossless compression
Convert Phase One RAW photos to QOI for fast lossless compression
Convert Hasselblad/Imacon RAW photos to QOI for fast lossless compression
Convert Leaf RAW photos to QOI for fast lossless compression
Convert Phase One P-series RAW photos to QOI for fast lossless compression
Convert Pentax Optio RAW photos to QOI for fast lossless compression
Convert Sigma/Foveon RAW photos to QOI for fast lossless compression
Convert Canon PowerShot RAW photos to QOI for fast lossless compression
Convert Casio RAW photos to QOI for fast lossless compression
Convert ICNS macOS icons to QOI for fast lossless compression
About QOI Format
QOI (Quite OK Image Format) is a lossless image format created by Dominic Szablewski in 2021, designed to provide fast encoding and decoding speeds while achieving compression ratios comparable to PNG. The format's defining characteristic is its extreme simplicity: the entire specification fits in approximately 300 lines of C code, making it one of the simplest image compression formats ever designed. QOI supports 24-bit RGB and 32-bit RGBA pixel data, handling both opaque and transparent images with ease. Despite its simplicity, QOI achieves compression ratios that are competitive with PNG for most types of images, while encoding 20-50 times faster and decoding 3-4 times faster. The format uses a combination of run-length encoding, difference encoding, and a small hash table of previously seen pixels to compress image data efficiently without any lossy transformation. QOI files begin with a 14-byte header containing the magic bytes "qoif", image dimensions, channel count, and color space information, followed by the compressed pixel data and an 8-byte end marker.
History of QOI
QOI was created by Dominic Szablewski, a German game developer and programmer, who published the format specification and reference implementation on November 24, 2021. Szablewski's goal was to design an image format that was "quite OK" — not necessarily the best at any single metric, but good enough at everything while being trivially simple to implement. The format went viral almost immediately upon release, garnering widespread attention on Hacker News, Reddit, and social media, with developers praising its elegant simplicity and surprisingly competitive performance. Within weeks of its release, QOI implementations appeared in dozens of programming languages, including C, C++, Rust, Go, Python, JavaScript, Java, C#, Zig, and many others. The format's simplicity meant that a complete encoder and decoder could be written from scratch in a single afternoon, leading to rapid adoption in hobbyist and indie game development communities. Pillow, Python's primary image processing library, added QOI support in version 10.0 (released July 2023), bringing QOI to the broader Python ecosystem and enabling easy integration with existing image processing workflows. By 2024, QOI had established itself as a viable alternative to PNG for applications where encoding and decoding speed are critical, particularly in game engines, real-time rendering pipelines, and automated image processing systems.
Key Features and Uses
QOI uses four simple operations to compress pixel data: QOI_OP_RUN encodes runs of identical pixels (up to 62 consecutive repetitions in a single byte), QOI_OP_INDEX references one of 64 previously seen pixels using a hash-based lookup table, QOI_OP_DIFF encodes small differences from the previous pixel (2-bit deltas per channel), and QOI_OP_LUMA handles larger differences with 6-bit green delta and 4-bit red/blue deltas relative to green. When none of these compact representations apply, pixels are stored with QOI_OP_RGB (4 bytes) or QOI_OP_RGBA (5 bytes) for full pixel data. This combination of simple operations makes the codec extremely fast: there are no complex transforms, no entropy coding, no block processing, and no memory-intensive operations. The format supports sRGB and linear color spaces, specified in the file header. QOI files are typically 10-30% larger than optimized PNG files for photographic content but can be comparable or even smaller for images with large flat-color areas, gradients, or repeating patterns common in game graphics and user interface elements. The format's constant-time per-pixel processing makes encoding and decoding speed highly predictable, with no worst-case slowdowns.
Common Applications
QOI is primarily used in game development, where its fast encoding speed enables real-time texture compression and screenshot capture without frame drops or stutter. Indie game developers and game engine authors have adopted QOI as an alternative to PNG for storing game assets, level data, and sprite sheets, benefiting from dramatically faster load times during development iteration. Automated image processing pipelines use QOI as an intermediate format when images need to be written and read frequently between processing stages, as the format's speed advantage over PNG translates to significant time savings in batch operations. Real-time applications such as screen recording, video frame extraction, and live image preview systems use QOI to compress frames with minimal latency. The format has found adoption in embedded systems and IoT devices where computational resources are limited, as QOI's minimal memory footprint and simple implementation make it practical for resource-constrained environments. Screenshot tools and image viewers use QOI for fast temporary storage, and scientific computing applications leverage QOI for rapid capture and storage of visualization output. Converting QOI to widely supported formats like PNG, JPG, or WebP is essential for web publishing, client delivery, and sharing with users whose software may not yet support QOI natively.
Advantages and Disadvantages
Advantages
- Blazing Fast Encoding: 20-50x faster than PNG encoding with comparable file sizes
- Fast Decoding: 3-4x faster decoding than PNG for quick image loading
- Extremely Simple: Entire specification fits in ~300 lines of C code
- Lossless Compression: Perfect quality preservation without any degradation
- RGBA Support: Full 32-bit color with alpha transparency channel
- Minimal Memory: Requires only 64 pixels of history for encoding/decoding
- Easy Implementation: Complete codec can be written from scratch in hours
- Growing Adoption: Supported by Pillow, game engines, and many tools
Disadvantages
- Larger Than PNG: Files are typically 10-30% larger than optimized PNG
- Limited Browser Support: Not natively supported by any major web browser
- No Progressive Loading: Cannot display partial images while loading
- No Metadata Support: No EXIF, ICC profiles, or text metadata storage
- Young Format: Less mature ecosystem and fewer tools than established formats
- No Animation: Cannot store animated image sequences
- 8-Bit Only: Limited to 8 bits per channel, no HDR or 16-bit support
- Niche Adoption: Primarily used in game development and technical workflows