Testing

JPEG 2000: Browser Support, vs JPEG, Use Cases

Safari 5 to 17.x supported JPEG 2000, but Safari 18 dropped it and no other browser ever added support. Learn JPEG 2000 browser support, vs JPEG, use cases.

Author

Prince Dewani

May 1, 2026

JPEG 2000 is an image compression standard that the Joint Photographic Experts Group published as ISO/IEC 15444 with the .jp2 file extension. Safari supported it from version 5 through 17.6 on macOS and 17.7 on iOS, while Chrome, Firefox, Edge, Opera, Samsung Internet, and Android Browser never added support, and Safari 18 removed it.

This guide covers what JPEG 2000 is, the browsers that support it, the differences from JPEG, use cases, how to view .jp2 files, and known issues.

What is JPEG 2000?

JPEG 2000 is an image compression standard that the Joint Photographic Experts Group published as ISO/IEC 15444. It uses a discrete wavelet transform instead of the discrete cosine transform that legacy JPEG uses, supports both lossless and lossy compression in one architecture, and stores images in files with the .jp2 file extension.

Which browsers does JPEG 2000 support?

Safari was the only browser that ever supported JPEG 2000 natively, and Safari 18 removed that support, so no shipping browser today renders JPEG 2000 in HTML. Every other major browser shows a broken image icon for .jp2 sources.

Loading browser compatibility data...

JPEG 2000 compatibility in Chrome

Chrome does not support JPEG 2000. Every Chrome version from Chrome 4 to current refuses to render .jp2 files in img tags or as CSS backgrounds, on Windows, macOS, Linux, ChromeOS, and Android. Chrome can still display JPEG 2000 images that are embedded inside PDF files, since the bundled PDFium viewer ships with a JPEG 2000 decoder.

JPEG 2000 compatibility in Edge

Edge does not support JPEG 2000. Every Edge version from Edge 12 (the original EdgeHTML build) through the current Chromium-based Edge does not render .jp2 files in HTML on Windows, macOS, Linux, or Android. Edge can display JPEG 2000 images embedded in PDFs through its built-in PDF viewer, the same way Chrome handles them.

JPEG 2000 compatibility in Firefox

Firefox does not support JPEG 2000. Every Firefox version from Firefox 2 to current refuses to render .jp2 files in the img tag or in CSS, on every desktop and mobile platform. The PDF.js viewer that Firefox uses for PDF rendering ships with a JavaScript JPEG 2000 decoder, so Firefox can still display JPEG 2000 images that are embedded inside PDF documents, although decoding is slower than the native PDFium path in Chrome.

JPEG 2000 compatibility in Safari

Safari supported JPEG 2000 natively from Safari 5 through Safari 17.6 on macOS and from Safari 5 through 17.7 on iOS, with Safari 5.1 a minor exception that disabled the decoder. Safari 18 on macOS Sequoia and iOS 18 removed support, so the .jp2 file no longer renders in img tags. Devices stuck on macOS Sonoma or iOS 17 still display JPEG 2000 images, which makes Safari the only browser family that ever shipped a usable JPEG 2000 web path.

JPEG 2000 compatibility in Opera

Opera does not support JPEG 2000. Every Opera version from Opera 9 to current and every Opera Mobile build refuses to render .jp2 files. Opera follows the Chromium engine for image decoding, and Chromium has never adopted JPEG 2000, so Opera inherits the same gap on Windows, macOS, Linux, and Android.

JPEG 2000 compatibility in Samsung Internet

Samsung Internet does not support JPEG 2000. Every Samsung Internet version from Samsung Internet 4 through the current build on Galaxy phones and tablets refuses to render .jp2 files in the img tag or CSS. Samsung Internet shares the Chromium image-decoding pipeline, which has no JPEG 2000 path, so Galaxy users see broken image icons on JPEG 2000 sources.

JPEG 2000 compatibility in Android Browser

The legacy Android Browser does not support JPEG 2000. Every version from Android 2.1 through Android 4.4.4, plus the modern Chromium-based replacement, refuses to render .jp2 files. The stock Android Browser was retired in Android 4.4 in favor of Chrome for Android, and neither path adopted JPEG 2000 decoding.

JPEG 2000 compatibility in Internet Explorer

Internet Explorer never supported JPEG 2000. IE 5.5 through IE 11 cannot decode .jp2 files in the img tag, in CSS background-image, or inside the picture element. Microsoft has retired Internet Explorer 11, so any remaining enterprise IE traffic needs a JPEG, PNG, or WebP fallback for image work.

Note

Note: JPEG 2000 has zero native support on shipping browsers today, and Safari quirks across iOS 17, macOS Sonoma, and macOS Sequoia make fallback testing fiddly. Test your image fallbacks on real browsers and OS with TestMu AI. Try TestMu AI free!

What is the difference between JPEG 2000 and JPEG?

JPEG 2000 and legacy JPEG share the same standards committee but use different math, ship different file formats, and reach different audiences. The table below lays out the trade-offs that drive format selection.

DimensionJPEG 2000JPEG (legacy)
Standards bodyJoint Photographic Experts Group, ISO/IEC 15444Joint Photographic Experts Group, ISO/IEC 10918
File extension.jp2, .jpx, .jpf, .j2k, .jpc, .j2c.jpg, .jpeg
Compression methodDiscrete wavelet transform across the whole imageDiscrete cosine transform on 8x8 blocks
Lossless supportYes, reversible 5/3 waveletNo, lossy only in baseline JPEG
Compression efficiencyAbout 20 to 30 percent smaller than JPEG at matching qualityBaseline
Compression artifactsRinging only, no blockingRinging and 8x8 blocking artifacts
Browser reachSafari 5 to 17.x only, removed in Safari 18Every browser ever shipped
Best fitDigital cinema, medical imaging, archives, GISUniversal photo fallback, web delivery

What are the use cases of JPEG 2000?

JPEG 2000 lost the web but won several specialist industries that need lossless modes, scalable codestreams, and a single file format for both archive and delivery.

  • Digital cinema: The Digital Cinema Initiatives Digital Cinema Package (DCP) standard uses JPEG 2000 as the picture codec, so every theatrical release that ships to a movie theater is a sequence of .j2c files inside an MXF container.
  • Medical imaging: The DICOM specification accepts JPEG 2000 for CT, MRI, mammography, and pathology slides, since the lossless mode preserves diagnostic detail and the codestream supports tiled progressive viewing of gigapixel scans.
  • Archives and digital preservation: The Library of Congress, national archives, and the FADGI imaging guidelines list JPEG 2000 as a recommended preservation format for high-resolution book scans, maps, and photo collections.
  • Geospatial and GIS: Earth-observation satellites, aerial photography platforms, and GIS tools use JPEG 2000 (often as ECW or JP2 with GeoJP2 metadata) to deliver multi-gigabyte raster maps with progressive zoom and pan.
  • Broadcast and post-production: Master-quality frame storage and contribution feeds inside broadcast plants use JPEG 2000 because the codestream supports frame-accurate access and visually lossless compression at 50 to 250 megabits per second.
  • Long-term photography backups: Photographers who want a single archival format that carries both a lossless master and lossy proxies in one file pick JPEG 2000 over a DNG plus JPEG pair.
...

How do you view JPEG 2000 files in your browser?

No shipping browser renders a raw .jp2 file today, so opening JPEG 2000 in a browser tab needs a conversion or an embedding step. The numbered steps below cover the four practical paths.

  • Convert to a web format with ffmpeg: Run ffmpeg -i input.jp2 output.png from a terminal. ffmpeg ships with the OpenJPEG decoder, so the converted PNG renders in every browser. Swap PNG for WebP or AVIF if you want a smaller file.
  • Convert with ImageMagick: Run magick input.jp2 output.jpg if ffmpeg is not on the box. ImageMagick uses the same OpenJPEG library for JPEG 2000 input and writes a standards-compliant JPEG that any browser can show.
  • Wrap the image inside a PDF: Drop the .jp2 into a PDF using a PDF authoring tool, then open the PDF in Chrome, Edge, or Firefox. The browser's PDF viewer (PDFium for Chromium browsers, PDF.js for Firefox) decodes JPEG 2000 inside the PDF even though the same browser refuses the raw .jp2 file.
  • Use a desktop image viewer: Open the file in IrfanView, XnView, GIMP, Adobe Photoshop, or Apple Preview if a browser tab is not strictly required. Photoshop needs the JPEG 2000 plug-in installed once, then handles .jp2 natively.
  • Decode in JavaScript with OpenJPEG.js: Load OpenJPEG compiled to WebAssembly, fetch the .jp2 over HTTPS, and draw the decoded pixels onto a canvas element. This is the only path that keeps the JPEG 2000 file as the source of truth on the page.

If the converted file looks washed out, check that the source .jp2 used the lossless 5/3 wavelet rather than the lossy 9/7 wavelet, since some converters apply a default tone map only on the lossy path.

What are the known issues with JPEG 2000?

JPEG 2000 has rich technical features, but real-world web delivery has more rough edges than working paths.

  • Safari 18 removed support: Safari was the only browser that ever shipped a JPEG 2000 path, and WebKit removed the decoder in Safari 18 on macOS Sequoia and iOS 18. Sites that still serve .jp2 to Safari now break for users on the latest Apple OS.
  • No Chromium, Firefox, or legacy support: Chrome, Edge, Opera, Samsung Internet, the legacy Android Browser, and Internet Explorer never decoded JPEG 2000 in HTML. The format has zero coverage on the open web outside of PDF embeds.
  • User-Agent sniffing CDN traps: Some content delivery networks used UA sniffing to serve JPEG 2000 only to Safari, and Apple flagged this in the Safari 18 release notes as a breakage path. Audit your CDN rules if your image pipeline targets Safari by user agent.
  • PDF.js decoder gaps: Firefox renders JPEG 2000 inside PDFs through PDF.js, but rare encoding modes (predictable termination, certain COD options) trigger the warning "Unable to decode image: JpxError" and leave a blank tile. Re-encode the source through OpenJPEG with default options to avoid this.
  • Slower than native decoders: The PDF.js JavaScript decoder for JPEG 2000 is two to four times slower than the native PDFium path in Chrome on the same PDF, so multi-page scans inside Firefox feel laggy on older laptops.
  • WebP, AVIF, and JPEG XL took the slot: Modern web image formats already match or beat JPEG 2000 on file size, ship in every major browser (with JPEG XL still landing), and carry no patent friction. There is no compression-led reason left to pick JPEG 2000 for the public web.
  • Editor and tooling drag: Many image editors need a separate JPEG 2000 plug-in or codec pack, and command-line tools that do not bundle OpenJPEG fail with cryptic errors when fed a .jp2. This makes designer hand-offs slow.

In my experience, the cleanest migration off JPEG 2000 on the web is to transcode the master .jp2 to AVIF for modern browsers and JPEG for legacy fallback, both wrapped in a picture element, instead of trying to keep a JPEG 2000 path alive for the shrinking pool of Safari-on-iOS-17 devices.

...

Citations

All JPEG 2000 version numbers and platform notes in this guide come from these primary sources:

Author

Prince Dewani is a Community Contributor at TestMu AI, where he manages content strategies around software testing, QA, and test automation. He is certified in Selenium, Cypress, Playwright, Appium, Automation Testing, and KaneAI. Prince has also presented academic research at the international conference PBCON-01. He further specializes in on-page SEO, bridging marketing with core testing technologies. On LinkedIn, he is followed by 4,300+ QA engineers, developers, DevOps experts, tech leaders, and AI-focused practitioners in the global testing community.

Open in ChatGPT Icon

Open in ChatGPT

Open in Claude Icon

Open in Claude

Open in Perplexity Icon

Open in Perplexity

Open in Grok Icon

Open in Grok

Open in Gemini AI Icon

Open in Gemini AI

Copied to Clipboard!
...

3000+ Browsers. One Platform.

See exactly how your site performs everywhere.

Try it free
...

Write Tests in Plain English with KaneAI

Create, debug, and evolve tests using natural language.

Try for free

Frequently asked questions

Did you find this page helpful?

More Related Hubs

TestMu AI forEnterprise

Get access to solutions built on Enterprise
grade security, privacy, & compliance

  • Advanced access controls
  • Advanced data retention rules
  • Advanced Local Testing
  • Premium Support options
  • Early access to beta features
  • Private Slack Channel
  • Unlimited Manual Accessibility DevTools Tests