Your browser loads every test image below. If it can decode the file, it shows up. If not, you get a red cross. No user agent sniffing, no feature lists. Just the real thing.

If you want to see how these formats look compared to each other and when their compression starts to fall apart, have a look at the quality comparison.

Your browser: …

0 of 30 test images decoded.

JPEG XL

The designated JPEG successor. Great at high and medium quality, lossless, and it can repack existing JPEGs losslessly into ~20% smaller files. It also decodes progressively: after only a small part of the file has arrived, the browser can show a blurry preview of the whole image and sharpen it as the rest loads.

  • JPEG XL Lossy test image✕
    LossyDecodesNot supportedChecking…
    jxl.jxl · 23 KB
  • JPEG XL Lossless test image✕
    LosslessDecodesNot supportedChecking…
    jxl-lossless.jxl · 209 KB
  • JPEG XL Progressive test image✕
    ProgressiveDecodesNot supportedChecking…
    jxl-progressive.jxl · 24 KB
  • JPEG XL Alpha channel test image✕
    Alpha channelDecodesNot supportedChecking…
    jxl-alpha.jxl · 16 KB

    Should fade out to the checkerboard at the edges.

  • JPEG XL Animated test image✕
    AnimatedDecodesNot supportedChecking…
    jxl-animated.jxl · 166 KB

    Should pan across the panorama. A still image means only the first frame decodes.

  • JPEG XL Recompressed JPEG test image✕
    Recompressed JPEGDecodesNot supportedChecking…
    jxl-from-jpeg.jxl · 32 KB

    A regular JPEG, losslessly transcoded. Can be turned back into the identical JPEG file.

  • JPEG XL HDR (PQ) test image✕
    HDR (PQ)DecodesNot supportedChecking…
    jxl-hdr-pq.jxl · 1 KB

    On an HDR screen the top right should glow brighter than the bottom right. On SDR screens both look about the same.

AVIF

Still images out of the AV1 video codec. Very strong at low bitrates, smooths away fine detail rather than producing blocks.

  • AVIF 8-bit 4:2:0 test image✕
    8-bit 4:2:0DecodesNot supportedChecking…
    avif.avif · 30 KB
  • AVIF 10-bit 4:4:4 test image✕
    10-bit 4:4:4DecodesNot supportedChecking…
    avif-10bit-444.avif · 34 KB
  • AVIF Alpha channel test image✕
    Alpha channelDecodesNot supportedChecking…
    avif-alpha.avif · 35 KB

    Should fade out to the checkerboard at the edges.

  • AVIF Animated test image✕
    AnimatedDecodesNot supportedChecking…
    avif-animated.avif · 37 KB

    Should pan across the panorama. A still image means only the first frame decodes.

  • AVIF HDR (PQ) test image✕
    HDR (PQ)DecodesNot supportedChecking…
    avif-hdr-pq.avif · 1 KB

    On an HDR screen the top right should glow brighter than the bottom right. On SDR screens both look about the same.

HEIC

HEVC in a HEIF container. The default photo format on iPhones, and Sony cameras offer it as a 10-bit alternative to JPEG. Patent licensing kept it out of most browsers.

  • HEIC 8-bit test image✕
    8-bitDecodesNot supportedChecking…
    heic.heic · 48 KB
  • HEIC 10-bit test image✕
    10-bitDecodesNot supportedChecking…
    heic-10bit.heic · 48 KB
  • HEIC Alpha channel test image✕
    Alpha channelDecodesNot supportedChecking…
    heic-alpha.heic · 49 KB

    Should fade out to the checkerboard at the edges.

WebP

Google's format from 2010, built on the VP8 video codec. Supported everywhere by now.

  • WebP Lossy test image✕
    LossyDecodesNot supportedChecking…
    webp-lossy.webp · 28 KB
  • WebP Lossless test image✕
    LosslessDecodesNot supportedChecking…
    webp-lossless.webp · 211 KB
  • WebP Alpha channel test image✕
    Alpha channelDecodesNot supportedChecking…
    webp-alpha.webp · 19 KB

    Should fade out to the checkerboard at the edges.

  • WebP Animated test image✕
    AnimatedDecodesNot supportedChecking…
    webp-animated.webp · 205 KB

    Should pan across the panorama. A still image means only the first frame decodes.

JPEG 2000

Wavelet based, from 2000. Big in digital cinema, medical imaging and archives, but on the web it only ever lived in Safari.

  • JPEG 2000 JP2 test image✕
    JP2DecodesNot supportedChecking…
    jp2.jp2 · 19 KB

JPEG XR

Microsoft's HD Photo, standardised as JPEG XR. Died together with Internet Explorer and EdgeHTML.

  • JPEG XR JXR test image✕
    JXRDecodesNot supportedChecking…
    jxr.jxr · 76 KB

The classics

The baseline. If one of these fails, something is very wrong.

  • The classics JPEG baseline test image✕
    JPEG baselineDecodesNot supportedChecking…
    jpeg-baseline.jpg · 37 KB
  • The classics JPEG progressive test image✕
    JPEG progressiveDecodesNot supportedChecking…
    jpeg-progressive.jpg · 34 KB
  • The classics PNG test image✕
    PNGDecodesNot supportedChecking…
    png.png · 261 KB
  • The classics APNG test image✕
    APNGDecodesNot supportedChecking…
    apng.png · 562 KB

    Should pan across the panorama. A still image means only the first frame decodes.

  • The classics GIF (animated) test image✕
    GIF (animated)DecodesNot supportedChecking…
    gif-animated.gif · 667 KB

    Should pan across the panorama. A still image means only the first frame decodes.

  • The classics SVG test image✕
    SVGDecodesNot supportedChecking…
    svg.svg · 1 KB

    Vector, drawn by hand, not the photo.

Odd ones

Formats that were never meant for the web but some browsers render anyway.

  • Odd ones BMP test image✕
    BMPDecodesNot supportedChecking…
    bmp.bmp · 380 KB
  • Odd ones ICO test image✕
    ICODecodesNot supportedChecking…
    ico.ico · 149 KB
  • Odd ones TIFF (LZW) test image✕
    TIFF (LZW)DecodesNot supportedChecking…
    tiff.tif · 332 KB

How this works

Every test is just an <img> tag. The browser either fires a load event, because it decoded the image, or an error event, because it didn’t. That is the most reliable test there is. Things like <picture> fallbacks or MIME type checks only tell you what the browser claims to support.

Some things cannot be detected like that, though. A browser might decode only the first frame of an animation, or show an HDR image in plain SDR. That’s why those tests come with a hint about what you should see.

The test images are made from my photo of the Black Dragon Pool in Lijiang.