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.
✕
LossyDecodesNot supportedChecking…jxl.jxl · 23 KB✕
LosslessDecodesNot supportedChecking…jxl-lossless.jxl · 209 KB✕
ProgressiveDecodesNot supportedChecking…jxl-progressive.jxl · 24 KB✕
Alpha channelDecodesNot supportedChecking…jxl-alpha.jxl · 16 KBShould fade out to the checkerboard at the edges.
✕
AnimatedDecodesNot supportedChecking…jxl-animated.jxl · 166 KBShould pan across the panorama. A still image means only the first frame decodes.
✕
Recompressed JPEGDecodesNot supportedChecking…jxl-from-jpeg.jxl · 32 KBA regular JPEG, losslessly transcoded. Can be turned back into the identical JPEG file.
✕
HDR (PQ)DecodesNot supportedChecking…jxl-hdr-pq.jxl · 1 KBOn 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.
✕8-bit 4:2:0DecodesNot supportedChecking…avif.avif · 30 KB
✕10-bit 4:4:4DecodesNot supportedChecking…avif-10bit-444.avif · 34 KB
✕Alpha channelDecodesNot supportedChecking…avif-alpha.avif · 35 KBShould fade out to the checkerboard at the edges.
✕AnimatedDecodesNot supportedChecking…avif-animated.avif · 37 KBShould pan across the panorama. A still image means only the first frame decodes.
✕HDR (PQ)DecodesNot supportedChecking…avif-hdr-pq.avif · 1 KBOn 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.
WebP
Google's format from 2010, built on the VP8 video codec. Supported everywhere by now.
✕LossyDecodesNot supportedChecking…webp-lossy.webp · 28 KB
✕LosslessDecodesNot supportedChecking…webp-lossless.webp · 211 KB
✕Alpha channelDecodesNot supportedChecking…webp-alpha.webp · 19 KBShould fade out to the checkerboard at the edges.
✕AnimatedDecodesNot supportedChecking…webp-animated.webp · 205 KBShould 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.
✕
JP2DecodesNot supportedChecking…jp2.jp2 · 19 KB
JPEG XR
Microsoft's HD Photo, standardised as JPEG XR. Died together with Internet Explorer and EdgeHTML.
✕
JXRDecodesNot supportedChecking…jxr.jxr · 76 KB
The classics
The baseline. If one of these fails, something is very wrong.
✕JPEG baselineDecodesNot supportedChecking…jpeg-baseline.jpg · 37 KB
✕JPEG progressiveDecodesNot supportedChecking…jpeg-progressive.jpg · 34 KB
✕PNGDecodesNot supportedChecking…png.png · 261 KB
✕APNGDecodesNot supportedChecking…apng.png · 562 KBShould pan across the panorama. A still image means only the first frame decodes.
✕GIF (animated)DecodesNot supportedChecking…gif-animated.gif · 667 KBShould pan across the panorama. A still image means only the first frame decodes.
✕
SVGDecodesNot supportedChecking…svg.svg · 1 KBVector, drawn by hand, not the photo.
Odd ones
Formats that were never meant for the web but some browsers render anyway.
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.

















