Codec Corpus

July 23, 2026 · View on GitHub

A curated collection of reference images for codec quality calibration, compression benchmarking, and format conformance testing. Maintained by Imazen.

Total repo size: ~670 MB committed, plus ~1 GB available via download scripts.

Quick Start

# Clone everything (~600 MB)
git clone https://github.com/imazen/codec-corpus.git

# Or clone just one dataset using sparse checkout
git clone --depth 1 --filter=blob:none --sparse \
  https://github.com/imazen/codec-corpus.git
cd codec-corpus
git sparse-checkout set clic2025

# Add more datasets later
git sparse-checkout add CID22 gb82-sc qoi-benchmark

Datasets at a Glance

Quality Calibration & Compression Research

DatasetImagesSizeResolutionLicenseBest For
CLIC 202562219 MB~2048px long edgeUnsplashHigh-res lossy quality calibration
CID2225094 MB512×512CC BY-SA 4.0Perceptual quality training, diverse content
imazen-262,1605.9 GB (originals)0.2–124 MPMostly PD/PD-ownReal-world diversity: photos, scans, screenshots, AI-gen, docs; train/val split + representative subsets
KADID-10k8125 MB512×384PixabayIQA research reference images
GB82259.6 MB576×576CC0Compact photographic benchmarking
GB82-SC102.9 MBVarious (640–2940px)CC0Screen content & screenshot compression
QOI Benchmark15+39 MB+Various (1313×2874–8008)CC0/PD/MixedWeb screenshots, icons, textures

Format Conformance & Edge Cases

DatasetFilesSizeLicenseBest For
AVIF Conformance13733 MBBSD-2/CC-BY-SA/ApacheAVIF decoder conformance, HDR, gain maps
HEIC Conformance17329 MBMIT/LGPL/VariousHEIC/HEIF decoder conformance
JPEG Conformance27776 MBMIT/IJG+BSD/VariousJPEG decoder conformance & robustness
JXL18888 MBBSD-3-ClauseJPEG XL decoder conformance
PNGSuite178720 KBFreewarePNG decoder conformance
APNG Conformance31184 KBCC0Animated PNG conformance
GIF Conformance39208 KBCC0GIF animation conformance
TIFF Conformance15412 MBMIT/CC0/libtiff/VariousTIFF decoder conformance & robustness
WebP Conformance2301.3 MBVariousWebP decoder conformance
BMP Conformance126VariousBMP decoder conformance
PNM Conformance51260 KBCC0PBM/PGM/PPM/PAM conformance
Farbfeld Conformance24156 KBCC0Farbfeld decoder conformance
UltraHDR Conformance5532 MBMIT/Apache/CC-BYHDR gain map conformance (JPEG/AVIF/JXL)
RAW/DNG ConformanceGit LFSCC0Camera RAW decoder conformance
image-rs1274.5 MBMITMulti-format edge cases
zune-image3,43433 MBMIT/Apache-2.0/ZlibFuzz testing, decoder robustness
mozjpeg161.2 MBIJG + BSDJPEG codec reference files
imageflow517.8 MBVariousOrientation, format conversion edge cases

Quality Calibration & Compression Research

CLIC 2025

Challenge on Learned Image Compression 2025 — High-resolution photographic images curated for compression quality research. This is the most relevant modern benchmark for lossy codec calibration, featuring large, diverse photographs at resolutions representative of modern camera output and web delivery.

FolderImagesSizePurpose
clic2025/training/32103 MBTune and calibrate encoders against these
clic2025/final-test/30116 MBHoldout set — final evaluation only

Note: The CLIC challenge calls these "validation" and "test" respectively. We renamed "validation" → "training" because in codec development, "validation" typically implies a holdout set, which is the opposite of the intended use. See clic2025/README.md for the original naming and download links.

  • Resolution: ~2048px on long edge (varies from 878px to 2048px on short edge)
  • Format: Lossless PNG, 8-bit sRGB
  • Source: https://clic2025.compression.cc/
  • License: Unsplash License — Free for any use, no attribution required, cannot be sold unmodified or used to build a competing service.

CID22

Cloudinary Image Dataset 2022 — 250 diverse images selected by Cloudinary for perceptual quality research. This dataset spans a wider variety of content types than most photographic benchmarks: portraits, landscapes, text, graphics, medical imagery, scientific plots, and more. The 512px size makes it fast to process while remaining large enough for meaningful perceptual quality evaluation.

For compression benchmarking, CID22 is one of the best choices available: it was specifically designed for this purpose, its diversity avoids the over-fitting that plagues small homogeneous corpora, and the training/validation split enables principled evaluation.

FolderImagesPurpose
CID22/CID22-512/validation/41Held out for validation
CID22/CID22-512/training/209Model training and calibration

imazen-26

21-category real-world corpus — 2,160 images / 5.9 GB spanning the hard cases codecs trip on: photographic noise, hard-edged vector graphics, bilevel scan texture, dense text, large flat regions. Mixes real photographs, stock photography, artwork reproductions, born-digital government documents, manuscript scans, synthetic charts, UI screenshots, and AI-generated graphics. ~2,128 of 2,160 files are public-domain or PD-own.

Hosted on R2, not in this repo — full public-URL index, train/val split manifests, representative-subset selections, and a cropscale set are all at imazen-26/ACCESS.md. Two layers are available:

LayerSizeNotes
Raw originals (jpg/heic/png/dng)6.99 GBHome-state GPS stripped; travel-location GPS intentionally retained as landmark metadata — see privacy note in ACCESS.md before use
PNG derivatives (codec-test-ready)16 GBSDR + HDR renders, no EXIF/GPS at all
  • Resolution: 0.2–124 MP, varies by category
  • Source: lilith's own photography + Unsplash + Art Institute of Chicago + The Met + US federal agencies (NPS/EPA/NOAA) + Internet Archive + AI-generated
  • License: mixed per-folder — see imazen-26/README.md for the full breakdown (PD-own, PD, PD-USGov, Unsplash License, CC0); 32 mobile-screenshot files are screenshot-unverified, excluded from redistribution

KADID-10k

Konstanz Artificially Distorted Image quality Database — 81 pristine reference images used for image quality assessment (IQA) research. Created at the University of Konstanz, this dataset is widely used for training and evaluating perceptual quality metrics. Only the pristine reference images are included here; the 10,125 distorted variants are not.

FolderImagesSize
kadid10k/8125 MB
  • Resolution: 512×384, 8-bit sRGB
  • Format: Lossless PNG
  • Source: https://database.mmsp-kn.de/kadid-10k-database.html
  • License: Pixabay License — Free for commercial and non-commercial use, no attribution required.
  • Citation: H. Lin, V. Hosu and D. Saupe, "KADID-10k: A Large-scale Artificially Distorted IQA Database," 2019 Eleventh International Conference on Quality of Multimedia Experience (QoMEX), Berlin, Germany, 2019, pp. 1-3, doi: 10.1109/QoMEX.2019.8743252.

GB82

GB82 Image Dataset by Gianni Rosato — A compact, purpose-built CC0 dataset for image compression algorithm development. The 25 images are selected to be challenging: fine facial details, low-contrast sky gradients, digital noise, fine textures. Optimizing for weak metrics like PSNR should not yield visually compelling results on most images.

FolderImagesSize
gb82/259.6 MB

Image categories:

  • 3 portraits (2 human, 1 dog)

  • 6 landscapes

  • 8 closeups of inanimate objects or scenes

  • 4 low-light shots

  • 3 realistically rendered graphics

  • 1 non-photographic image

  • Resolution: 576×576, 8-bit sRGB, D65 white point

  • Source: https://github.com/gianni-rosato/gb82-image-set

  • License: CC0 1.0 — Public domain, no restrictions.


GB82-SC

GB82 Screen Content Dataset by Gianni Rosato — Screenshots and screen content images focusing on text, UI elements, and graphics from five platforms. Screen content compresses very differently from photographic content: sharp edges, flat color regions, anti-aliased text, and high-contrast UI elements stress different codec paths. This dataset fills an important gap that photographic benchmarks miss entirely.

FileResolutionContent
`codec_wiki.png$2560 \times 1664\text{Wikipedia} \text{article} \text{with} \text{text} \text{and} \text{diagrams}
gmessages.pnggmessages.png1440 \times 3088\text{Google} \text{Messages} (\text{Android})
graph.pnggraph.png796 \times 481\text{Data} \text{visualization} / \text{chart}
gui.pnggui.png1356 \times 1132\text{Desktop} \text{GUI} \text{elements}
imacdark.pngimac_dark.png2940 \times 1912\text{macOS} \text{desktop} (\text{dark} \text{mode})
imacg3.pngimac_g3.png2940 \times 1912\text{macOS} \text{desktop} (\text{light}, \text{iMac} \text{G3} \text{style})
imessage.pngimessage.png1206 \times 2622\text{iMessage} \text{conversation} (\text{iOS})
terminal.pngterminal.png1646 \times 1062\text{Terminal} / \text{command} \text{line}
windows95.pngwindows95.png640 \times 480\text{Windows} 95 \text{desktop}
$windows.png`2560×1392Modern Windows desktop

QOI Benchmark Suite

Subsets from the QOI Benchmark Suite by Dominic Szablewski. The screenshot_web subset is committed directly to the repo; all other subsets can be fetched with the included download scripts.

Committed:

SubsetFilesSizeLicenseContent
qoi-benchmark/screenshot_web/1439 MBCC0 1.0Full-page web screenshots (amazon, apple, cnn, wikipedia, reddit, etc.)

Available via download scripts:

SubsetFilesSizeLicenseContent
icon_51221412 MBPublic DomainTango Icon Library at 512px
icon_642141.3 MBPublic DomainTango Icon Library at 64px
screenshot_game619256 MBCC BY-SA 3.0Game screenshots from Wikimedia Commons
textures_pk100444 MBTexture pack
textures_pk0111519 MBTexture pack 01
textures_pk0223799 MBTexture pack 02
textures_plants6150 MBPlant textures
textures_photo2137 MBPhotographic textures
photo_kodak2515 MBUnrestrictedKodak suite1
photo_tecnick101228 MBTecnick photographic set
photo_wikipedia5085 MBWikipedia photographs
pngimg189220 MBCC BY-NC 4.0PNG images (non-commercial only)
# Download all subsets (~1.1 GB tarball)
cd qoi-benchmark && ./download.sh

# Download specific subsets
./download.sh icon_512 icon_64

# List available subsets
./download.sh --list
# Windows
cd qoi-benchmark
.\download.ps1
.\download.ps1 -Subsets icon_512,icon_64
.\download.ps1 -List
  • Source: https://qoiformat.org/benchmark/
  • License: Per-subset (see table above). screenshot_web is CC0. icon_* subsets are Public Domain (Tango Icon Library). screenshot_game is CC BY-SA 3.0 (Wikimedia Commons). pngimg is CC BY-NC 4.0 (non-commercial only). Other subsets have unspecified licensing in the archive.

Format Conformance & Edge Cases

AVIF Conformance

AVIF Decoder Conformance Test Suite — 137 files covering all AV1 Image File Format features, sourced from AOM test vectors.

FolderFilesExpected Behavior
avif-conformance/valid/106MUST decode correctly
avif-conformance/invalid/12MUST reject gracefully
avif-conformance/edge-cases/19Decoder-dependent behavior

Feature coverage: All 3 AV1 profiles, YUV 4:2:0/4:2:2/4:4:4, 8/10/12-bit depth, monochrome, alpha (full/limited range), HDR (PQ), wide color gamut (P3, BT.2020), gain maps, animation, grids, film grain, transforms (rotation/mirror/crop), ICC profiles, EXIF/XMP metadata.


HEIC Conformance

HEIC/HEIF Decoder Conformance Test Suite — 173 files covering the High Efficiency Image File Format.

FolderFilesExpected Behavior
heic-conformance/valid/nokia-conformance/63MUST decode correctly (⚠️ no explicit license)
heic-conformance/valid/dsoprea-exif/4MUST decode correctly
heic-conformance/valid/libheif-testdata/90MUST decode correctly
heic-conformance/invalid/8MUST reject gracefully
heic-conformance/edge-cases/5Decoder-dependent behavior

Coverage: HEIC still images, grid images (iPhone-style multi-tile), alpha channel, EXIF metadata, thumbnails, multiple images per file, overlays, stereo, sequences, edit lists.

⚠️ License note: Nokia conformance files (63 files, the most feature-complete) have no explicit license. Use for internal testing only until clarified. dsoprea samples are MIT. libheif test data is LGPL-3.0.


JPEG Conformance

JPEG Decoder Conformance Test Suite — Files organized by expected decoder behavior, designed for systematic testing of JPEG decoders.

FolderFilesExpected Behavior
jpeg-conformance/valid/41MUST decode correctly
jpeg-conformance/invalid/116MUST reject gracefully
jpeg-conformance/non-conformant/40MAY reject or recover
jpeg-conformance/crash-repro/78Crash reproducers from upstream decoders

valid/ — Reference JPEG images including camera samples from 12 manufacturers, restart intervals, CMYK/YCCK color spaces, and various sampling configurations.

invalid/ — Crash tests and malformed files from imagetestsuite and fuzzing. Decoders must not crash or hang on these.

non-conformant/ — Files that violate the JPEG spec but are common in the wild:

  • truncated/ — Files cut at various stream positions
  • extraneous-data/ — Extra bytes in unexpected locations
  • marker-quirks/ — Unusual marker sequences (e.g., multiple 0xFF before EOI)
  • metadata-quirks/ — ICC profile chunk issues (ordering, duplicates, missing chunks)
  • progressive-quirks/ — Progressive scan encoding edge cases

Each non-conformant file has a companion .txt file explaining the defect and expected strict vs. lenient decoder behavior.


JXL

JPEG XL Test Suite — Comprehensive coverage of JPEG XL decoder features and conformance.

FolderFilesSizePurpose
jxl/conformance/396.2 MBOfficial libjxl conformance tests
jxl/features/12881 MBFeature-specific test images
jxl/edge-cases/13332 KBMinimal and boundary-condition tests

Feature coverage:

  • Encoding: Lossless (modular), lossy (VarDCT), progressive

  • Color: 8/12/16/32-bit depth, sRGB, linear, grayscale, CMYK

  • HDR: PQ and HLG transfer functions

  • Animation: Multi-frame, variable timing, splines

  • Alpha: Premultiplied, non-premultiplied, blend modes

  • Features: EXIF orientation, patches, ICC profiles, JPEG reconstruction

  • Source: https://github.com/libjxl/libjxl, https://github.com/libjxl/conformance

  • License: BSD-3-Clause


PNGSuite

Official PNG Conformance Test Suite by Willem van Schaik — Covers all PNG features for decoder conformance testing.

FolderFilesSize
pngsuite/176720 KB

Coverage:

  • Bit depths: 1, 2, 4, 8, 16

  • Color types: grayscale, RGB, palette, grayscale+alpha, RGBA

  • Interlacing (Adam7), transparency (tRNS), gamma correction

  • Ancillary chunks: sRGB, iCCP, tEXt, sBIT, pHYs, etc.

  • Corrupted files for error handling

  • Source: http://www.schaik.com/pngsuite/

  • License: Freeware — free to use, copy, modify, and distribute.


APNG Conformance

Animated PNG Conformance Test Suite — 31 generated APNG files covering all animation features.

FolderFilesExpected Behavior
apng-conformance/valid/22MUST decode correctly
apng-conformance/invalid/6MUST reject gracefully
apng-conformance/edge/3Decoder-dependent behavior

Coverage: All 3 disposal operations (none, background, previous), both blend operations (source, over), frame offsets, looping (infinite, once, N), timing variations (10ms–2s, variable), color types (RGBA, RGB, grayscale, palette), default-image-as-first-frame vs separate fallback, single-frame APNG.


GIF Conformance

GIF Animation Conformance Test Suite — 39 generated GIF89a files with full LZW compression.

FolderFilesExpected Behavior
gif-conformance/valid/28MUST decode correctly
gif-conformance/invalid/7MUST reject gracefully
gif-conformance/edge-cases/4Decoder-dependent behavior

Coverage: All disposal methods (none, background, previous, unspecified), transparency, timing (0-delay to 1s, variable), looping (infinite, once, N, no Netscape extension), local vs global color tables, interlacing, frame offsets, canvas/frame geometry, GIF87a vs GIF89a, comment/plain-text extensions.

  • Source: Generated (generate.py), Python stdlib only (includes complete LZW encoder)
  • License: CC0 1.0 — Public domain

TIFF Conformance

TIFF Decoder Conformance Test Suite — 154 files covering comprehensive TIFF feature combinations, sourced from libtiff, image-tiff, and image-rs test suites.

FolderFilesSizePurpose
tiff-conformance/valid/14512 MBMUST decode correctly
tiff-conformance/edge-cases/564 KBUncommon but valid features
tiff-conformance/robustness/424 KBMalformed files — MUST reject gracefully

Coverage:

  • Color types: grayscale, grayscale+alpha, RGB, CMYK, palette, YCbCr, LogLuv

  • Bit depths: 1–64 bit integer and float (f16, f32, f64)

  • Compression: uncompressed, LZW, deflate, PackBits, CCITT fax3/fax4, JPEG, old JPEG, zstd, WebP, LogLuv

  • Organization: stripped, tiled (square/rectangular/oversized), planar

  • Predictors: none, horizontal, floating-point

  • Byte order: little-endian and big-endian

  • Format: classic TIFF and BigTIFF

  • Features: EXIF/GPS, XMP, SubIFDs, multi-page, extra samples, GeoTIFF

  • Sources: See tiff-conformance/SOURCES.md for per-file attribution

  • License: MIT / CC0 / libtiff (permissive) / Various (per source)


WebP Conformance

WebP Decoder Conformance Test Suite — 225+ synthetic test files plus real-world WebP images.

FolderFilesExpected Behavior
webp-conformance/valid/225+MUST decode correctly
  • Source: Generated (RFC 6386 parameter space) + real-world samples
  • License: Various (per source)

BMP Conformance

BMP Decoder Conformance Test Suite — 126 files covering BMP format variants.

FolderFilesExpected Behavior
bmp-conformance/valid/MUST decode correctly
bmp-conformance/invalid/MUST reject gracefully
bmp-conformance/non-conformant/MAY reject or recover

PNM Conformance

PNM/PAM Decoder Conformance Test Suite — 51 generated files covering all 7 Netpbm sub-formats.

FolderFilesExpected Behavior
pnm-conformance/valid/pbm/10PBM P1 (ASCII) + P4 (binary) — MUST decode
pnm-conformance/valid/pgm/8PGM P2 (ASCII) + P5 (binary) — MUST decode
pnm-conformance/valid/ppm/11PPM P3 (ASCII) + P6 (binary) — MUST decode
pnm-conformance/valid/pam/6PAM P7 (all tuple types) — MUST decode
pnm-conformance/invalid/10MUST reject gracefully
pnm-conformance/edge-cases/6Decoder-dependent behavior

Coverage: All magic numbers (P1–P7), 8-bit and 16-bit, comments in headers, maxval edge values (0, 1, 65535, 70000), truncated data, CRLF line endings, concatenated streams, overflow dimensions.


Farbfeld Conformance

Farbfeld Decoder Conformance Test Suite — 24 generated files for the suckless.org image format.

FolderFilesExpected Behavior
farbfeld-conformance/valid/12MUST decode correctly
farbfeld-conformance/invalid/9MUST reject gracefully
farbfeld-conformance/edge-cases/3Decoder-dependent behavior

Coverage: Various dimensions (1x1 to 1000x1), solid colors, gradients, checkerboards, alpha channel variants, bad magic, truncated headers/pixels, zero dimensions, extra trailing data.


UltraHDR Conformance

UltraHDR / Gain Map Conformance Test Suite — 55 files covering HDR gain maps across JPEG, AVIF, and JXL.

FolderFilesExpected Behavior
ultrahdr-conformance/valid/jpeg/43MUST decode correctly
ultrahdr-conformance/valid/avif/(empty — no freely-licensed samples yet)
ultrahdr-conformance/valid/jxl/(empty — no freely-licensed samples yet)
ultrahdr-conformance/invalid/5MUST reject gracefully
ultrahdr-conformance/edge-cases/3Decoder-dependent behavior

Sources include Google's libultrahdr benchmark/test images, Pixel phone UltraHDR samples, and the Awesome-Gain-Maps collection. Covers ISO 21496-1 gain map metadata, various gain map encodings, and different transfer functions.


RAW/DNG Conformance

Camera RAW Conformance Test Suite — RAW and DNG files from diverse camera families. Stored with Git LFS due to file sizes (10-50 MB each).

⚠️ Requires Git LFS: Run git lfs pull after cloning to download the actual RAW files.

FolderContent
raw-conformance/valid/bayer/Standard Bayer CFA (Canon CR2, Nikon NEF, Sony ARW, DNG)
raw-conformance/valid/xtrans/X-Trans CFA (Fuji RAF)
raw-conformance/valid/linear/Linear (demosaiced) DNG
raw-conformance/valid/compressed/Lossy DNG (type 34892), JXL DNG (type 52546)
raw-conformance/valid/mobile/Apple ProRAW, Android DNG
raw-conformance/valid/proprietary/ORF, RW2, CR3
raw-conformance/invalid/Truncated, corrupt headers, bad IFDs
raw-conformance/edge-cases/Unusual bit depths, tiled, multi-page

To populate from the raw.pixls.us archive:

cd raw-conformance && ./fetch.sh

image-rs

Rust image library test images — Multi-format edge cases and malformed files used by the image-rs crate.

FolderFilesContent
image-rs/test-images/bmp/60BMP format variants and malformed files
image-rs/test-images/gif/11GIF animation edge cases
image-rs/test-images/ico/7Icon format tests
image-rs/test-images/jpg/7JPEG metadata, progressive encoding
image-rs/test-images/png/2216-bit, APNG, transparency
image-rs/test-images/tiff/10TIFF compression, predictors
image-rs/test-images/webp/9WebP lossless/lossy variants

zune-image

zune-image test suite — Fuzz corpus and decoder robustness tests from the zune-image project.

FolderFilesPurpose
zune/test-images/jpeg/30JPEG edge cases (CMYK, progressive, subsampling)
zune/fuzz-corpus/jpeg/1,836Minimal JPEG fuzz inputs
zune/fuzz-corpus/png/837Minimal PNG fuzz inputs
zune/fuzz-corpus/inflate/726DEFLATE/inflate edge cases

The fuzz corpus files are minimal inputs designed to exercise specific code paths and edge cases in decoders. They are not meaningful images — they exist to catch crashes, hangs, and memory safety issues.


mozjpeg

Mozilla JPEG encoder test images — Reference files for JPEG codec testing, from the mozjpeg project.

FilePurpose
testorig.ppmSource image (PPM format)
testorig.jpgBaseline JPEG reference
testimgari.jpgArithmetic-coded JPEG
testimgint.jpgProgressive JPEG
testorig12.jpg12-bit JPEG
shira_bird8.bmp, monkey16.ppmAdditional source images
test.scan, test1.scanCustom scan scripts
test1.icc, test3.iccICC color profiles

imageflow

Imageflow test inputs — Images used by imageflow for testing format conversion, orientation handling, and edge cases.

FolderFilesContent
imageflow/test_inputs/29WebP, JPEG, PNG, GIF test images
imageflow/test_inputs/orientation/16EXIF orientation test set (all 8 orientations × landscape/portrait)

Includes: corrupt JPEG, color profile edge cases, transparency, gradients, whitespace handling, high-resolution (5760×4320) test image.


Directory Structure

codec-corpus/
├── Quality Calibration
│   ├── clic2025/                    # CLIC 2025 (Unsplash License)
│   ├── CID22/                       # Cloudinary CID22 (CC BY-SA 4.0)
│   ├── gb82/                        # GB82 photographic (CC0)
│   ├── gb82-sc/                     # GB82 screen content (CC0)
│   ├── kadid10k/                    # KADID-10k references (Pixabay License)
│   └── qoi-benchmark/              # QOI Benchmark Suite (CC0/PD/Mixed)

├── Format Conformance (modern codecs)
│   ├── avif-conformance/            # AVIF — 137 files (BSD-2/CC-BY-SA/Apache)
│   │   ├── valid/, invalid/, edge-cases/, README.md
│   ├── heic-conformance/            # HEIC/HEIF — 173 files (MIT/LGPL/⚠️ Nokia unlicensed)
│   │   ├── valid/{nokia-conformance,dsoprea-exif,libheif-testdata}/
│   │   ├── invalid/, edge-cases/, README.md
│   ├── jxl/                         # JPEG XL — 188 files (BSD-3-Clause)
│   │   ├── conformance/, features/, edge-cases/
│   └── ultrahdr-conformance/        # UltraHDR gain maps — 55 files (MIT/Apache/CC-BY)
│       ├── valid/{jpeg,avif,jxl}/, invalid/, edge-cases/, README.md

├── Format Conformance (traditional codecs)
│   ├── jpeg-conformance/            # JPEG — 277 files (MIT/IJG+BSD/Various)
│   │   ├── valid/, invalid/, non-conformant/, crash-repro/
│   ├── pngsuite/                    # PNG — 176 files (Freeware)
│   ├── png-conformance/             # PNG edge cases — 11 files
│   ├── apng-conformance/            # APNG — 31 files (CC0, generated)
│   │   ├── valid/, invalid/, edge/, generate.py, README.md
│   ├── gif-conformance/             # GIF — 39 files (CC0, generated)
│   │   ├── valid/, invalid/, edge-cases/, generate.py, README.md
│   ├── webp-conformance/            # WebP — 230 files (Various)
│   │   ├── valid/
│   ├── tiff-conformance/            # TIFF — 154 files (MIT/CC0/libtiff/Various)
│   │   ├── valid/, edge-cases/, robustness/
│   ├── bmp-conformance/             # BMP — 126 files (Various)
│   │   ├── valid/, invalid/, non-conformant/
│   ├── pnm-conformance/             # PNM/PAM — 51 files (CC0, generated)
│   │   ├── valid/{pbm,pgm,ppm,pam}/, invalid/, edge-cases/
│   │   ├── generate.py, README.md
│   └── farbfeld-conformance/        # Farbfeld — 24 files (CC0, generated)
│       ├── valid/, invalid/, edge-cases/, generate.py, README.md

├── Multi-format Test Suites
│   ├── image-rs/                    # image-rs tests — 127 files (MIT)
│   ├── zune/                        # zune-image fuzz corpus — 3,434 files (MIT/Apache/Zlib)
│   ├── mozjpeg/                     # mozjpeg references — 16 files (IJG + BSD)
│   └── imageflow/                   # imageflow tests — 51 files (Various)

└── crate/                           # codec-corpus Rust crate source

License Summary

Every dataset includes its own license file in its directory.

DatasetLicenseCommercial UseAttribution RequiredShareAlike
CLIC 2025Unsplash LicenseYesNoNo
CID22CC BY-SA 4.0YesYesYes
GB82CC0 1.0YesNoNo
GB82-SCCC0 1.0YesNoNo
QOI screenshot_webCC0 1.0YesNoNo
QOI icon_*Public DomainYesNoNo
QOI screenshot_gameCC BY-SA 3.0YesYesYes
QOI pngimgCC BY-NC 4.0NoYesNo
KADID-10kPixabay LicenseYesNoNo
AVIF ConformanceBSD-2/CC-BY-SA/CC-BY-NC-NDVariesVariesVaries
HEIC Conformance⚠️ Mixed/UnlicensedVariesVaries
JXLBSD-3-ClauseYesNoNo
PNGSuiteFreewareYesNoNo
APNG ConformanceCC0 1.0YesNoNo
GIF ConformanceCC0 1.0YesNoNo
TIFF ConformanceMIT/CC0/libtiff/VariousYesVariesNo
WebP ConformanceVariousYesVariesNo
BMP ConformanceVariousYesVariesNo
PNM ConformanceCC0 1.0YesNoNo
Farbfeld ConformanceCC0 1.0YesNoNo
UltraHDR ConformanceMIT/Apache-2.0/CC-BY-4.0YesVariesNo
RAW/DNG ConformanceCC0 1.0YesNoNo
JPEG ConformanceMIT/IJG+BSD/VariousYesVariesNo
image-rsMITYesNoNo
zune-imageMIT/Apache-2.0/ZlibYesNoNo
mozjpegIJG + BSDYesNoNo
imageflowVariousYesVariesNo

Choosing a Dataset

For lossy codec quality calibration: Use CLIC 2025 (high-res, modern photos) and CID22 (diverse content, training/validation split). These are the most representative and methodologically sound choices for modern codec evaluation.

For compact benchmarking: Use GB82 (25 challenging photos, CC0, 576×576). Fast to process, explicitly designed to resist metric gaming.

For screen content / non-photographic images: Use GB82-SC and QOI Benchmark screenshot_web. Screenshots, UI elements, text, and graphics compress very differently from photos — testing both content types is essential for any codec deployed on the web.

For decoder conformance: Use the format-specific test suites: JPEG Conformance, JXL, PNGSuite. For fuzz/robustness testing, use zune-image.


A note on Kodak

The Kodak Lossless True Color Image Suite (24 images, 768×512) is not included in this corpus. It was the de facto image compression benchmark from the 1990s through the 2010s, but decades of codec tuning against the same 24 images have made Kodak scores nearly meaningless — many codecs are specifically optimized for it. The images are also too small for modern evaluation, too homogeneous (pastoral outdoor scenes circa 1990), and offer no train/test split. Use CID22 or CLIC 2025 instead.


Color Space Normalization

All benchmark PNG images in this corpus use the standard sRGB PNG chunk to signal sRGB color space. As of February 2025, the following corrections were applied:

  • clic2025-1024/, clic2025/training/, imageflow/test_inputs/frymire.png: Stripped gAMA+cHRM chunks (which encoded sRGB gamma and primaries the old way) and replaced with a proper sRGB chunk.
  • CID22/: Stripped embedded iCCP profiles (which were sRGB IEC61966-2.1 profiles under generic names like "icc", ~2.6 KB each) and replaced with a proper sRGB chunk.
  • CID22/CID22-512/training/2387532.png: Had gAMA-only (no chromaticities); renamed to 2387532-srgb.png after normalization.
  • imageflow/test_inputs/gradients.png: Stripped iCCP (Photoshop-named sRGB profile) and replaced with sRGB chunk.

No pixel data was changed — only PNG chunk metadata was modified. This eliminates inconsistent color space signaling that can cause subtle differences in color-managed decoders and metric calculations.

Datasets not modified: gb82/, gb82-sc/, kadid10k/, qoi-benchmark/, clic2025/final-test/, webp-conformance/ (already clean — either proper sRGB chunks or no color metadata). Test/conformance directories (pngsuite/, zune/, image-rs/) were intentionally left untouched.


Contributing

To suggest additional datasets, please open an issue with:

  • Source URL
  • License information
  • Description of what the dataset tests or what content type it represents