Running on your device · 0 bytes uploaded

# Image Format Support

What image formats THIS browser actually decodes — measured live with byte-exact probes, not a compatibility table.
Embedded 1×1 fixtures decoded through native Image.decode in this tab — a measurement, not a claimRun the probe

Every row below is a byte-exact 1×1 image constructed in this page and handed to the browser’s own decoder. Run it to see what THIS browser does — the same page on another browser can honestly answer differently.

AVIF and JPEG XL have no embedded probe above — your own file is the honest way to test them here.

- Every matrix row is measured: the embedded fixtures are byte-exact 1×1 images whose magic bytes and container-stated dimensions are pinned by tests, decoded through the same native Image.decode path on demand. A canned “all browsers support X” table would be a claim; this is a result.
- AVIF and JPEG XL ship no embedded probe — no byte-exact sample is constructible here without vendoring binary blobs, and a wrong fixture would read as “unsupported” everywhere. The page says so; drop your own file to test.
- Your file is identified from magic bytes, not the extension — a mismatch is named (“the bytes win”), the declared type shown alongside for comparison.
- Decode timings are informational (one decimal, this machine, this moment) — never presented as a benchmark; the encoder benchmark tool exists for that.
Nothing in yet

Paste, drop, or type to begin. Everything stays on this device.

nothing runs until you press the button — no decode work happens on load

## Next door in Photos

- [Encoder benchmark](/images/benchmark)
- [Image ⇄ Base64](/encoding/image-base64)
[All photos tools](/images)

---

Canonical HTML: https://nutter.tools/images/format-support
Markdown version: https://nutter.tools/images/format-support/index.md
Plain-text version: https://nutter.tools/images/format-support/index.txt
Agent index: https://nutter.tools/llms.txt

