JPEG 2000 JP2 MIME Type
image/jp2 files contain, how JP2 differs from JPEG and other JPEG 2000 formats, which applications open them, and what Poly supports. MIME type details for image/jp2
In active use| MIME type | image/jp2 |
|---|---|
| Extensions | .jp2.jpg2 |
| Magic number | 00 00 00 0C 6A 50 20 20 0D 0A 87 0A |
| First standardized | 2000 |
| Created by | Joint Photographic Experts Group |
| Browser support | No native support in current major browsers |
| Example applications | Adobe Photoshop, Apple Preview, ImageMagick |
| Poly support | Partial. Poly recognizes image/jp2 and .jp2 filenames, but its current image decoder cannot decode JPEG 2000 pixels. |
| Indexed by Poly | Partial. The filename is searchable, but decoding failure prevents metadata extraction, thumbnails, and visual-similarity indexing. |
| Preview in Poly | No. Poly routes JP2 files to its image viewer, but cannot create the rendered thumbnail or PNG fallback that the viewer needs. |
| Poly agent | No. The agent's image-reading path depends on a rendered thumbnail, which Poly cannot currently produce from JP2. |
What does image/jp2 mean?
The image/jp2 media type identifies a still image in the JP2 file format defined by JPEG 2000 Part 1. A JP2 file wraps one JPEG 2000 codestream with essential information such as image dimensions and color space, and it can also carry resolution, XML, rights, or application-specific metadata.12
JPEG 2000 is the coding system. JP2 is its basic interchange container. That distinction is similar to the relationship between JPEG coding and JFIF, but the two JPEG generations are not compatible.
The preferred extension is .jp2. RFC 3745 also records .jpg2, although it is much less common. A conforming JPEG 2000 family file starts with this 12-byte signature:
00 00 00 0C 6A 50 20 20 0D 0A 87 0A
That signature is more reliable than the filename. A raw JPEG 2000 codestream, often named .j2k, .j2c, or .jpc, is not a JP2 file and should not be served as image/jp2.1
Why was JPEG 2000 created?
ISO published the first edition of ISO/IEC 15444-1 in December 2000. The format was designed for varied still-image work, including photography, medical and satellite imagery, scanned documents, and large image libraries.34
Unlike classic JPEG's block-based transform, JPEG 2000 uses wavelet coding. One system supports both lossy and mathematically lossless compression, high bit depths, very large images, progressive decoding by quality or resolution, and access to selected regions without decoding the whole image.24
Those capabilities explain why JP2 appears in controlled imaging systems and cultural-heritage workflows. They do not make it a drop-in web replacement for JPEG. Decoder coverage, profile support, and browser interoperability matter just as much as coding features.
.jp2 extension can still contain a lossy codestream, so the extension alone does not prove archival fidelity.How to open a JP2 file
Use an application with an explicit JPEG 2000 decoder:
- Adobe lists JPEG 2000 among the graphic formats Photoshop can import and export.5
- Apple Preview can open JPEG 2000 and export it to formats such as JPEG, PNG, or TIFF.6
- ImageMagick can read and write JP2 when its JPEG 2000 delegate is available.7
Current mainstream browsers should not be treated as JP2 viewers. Chrome, Edge, Firefox, and Opera do not decode the format. Safari supported it through Safari 17.6 on macOS and iOS 17.7, but WebKit removed that support before Safari 18.89
For a website, convert the image or provide a broadly supported fallback. Setting an image/jp2 HTTP header does not add a decoder to the browser.
Support in Poly
Poly recognizes the registered image/jp2 identifier and infers it from .jp2 filenames. It does not infer the registered .jpg2 extension.
The current indexing pipeline then treats the file as an image, but decoding stops in Poly's general Rust image loader. That decoder has no JPEG 2000 backend. As a result:
- The file can be stored, synced, shared, versioned, and found by filename.
- Poly does not create WebP thumbnails or visual-similarity embeddings from its pixels.
- JPEG 2000 metadata is not extracted.
- The image viewer cannot render a thumbnail or transcode the original to PNG.
- The Poly agent cannot inspect the image because its reliable image-reading path uses a generated thumbnail.
Converting JP2 to a common format
Choose the output for the job:
| Destination | Best for | Important tradeoff |
|---|---|---|
| PNG | Lossless interchange, diagrams, and browser display | Large high-resolution images can grow substantially |
| TIFF | Preservation or editing workflows that need high bit depth or rich metadata | Broad in professional tools, weak on the web |
| JPEG | Photographs that need maximum compatibility | Adds a lossy generation unless the JP2 source was already lossy and the workflow accepts further loss |
| WebP or AVIF | Efficient delivery in current browsers | Verify color, bit depth, and metadata handling during conversion |
ImageMagick documents a direct conversion command:
magick input.jp2 output.png
Before deleting the original, compare pixel dimensions, bit depth, color profile, alpha, and metadata. Converting a lossless JP2 to JPEG discards information. Converting a lossy JP2 to PNG prevents another lossy save, but it cannot restore details already removed by the JP2 encoder.
JP2, JPX, J2K, and JPEG are different
The JPEG 2000 family has several related identifiers:
| Name | Typical extension | Media type | What it contains |
|---|---|---|---|
| JP2 | .jp2 | image/jp2 | Part 1 still-image container with one compatible JPEG 2000 codestream |
| Raw codestream | .j2k, .j2c, .jpc | image/j2c | Compressed JPEG 2000 data without the JP2 wrapper |
| JPX | .jpx, .jpf | image/jpx | Part 2 extensions such as multiple codestreams, richer color descriptions, composition, and animation |
| Motion JPEG 2000 | .mj2, .mjp2 | video/mj2 | A sequence of independently coded JPEG 2000 frames, optionally with audio |
| JPEG | .jpg, .jpeg | image/jpeg | The older and incompatible JPEG coding family, commonly in JFIF or Exif files |
Renaming one extension to another changes none of these structures. Decode and re-encode when you need a different format.
Metadata, security, and interoperability
JP2 can carry XML, UUID-addressed application data, resolution information, color data, and intellectual-property metadata.4 Preserve those boxes deliberately when migrating a collection. A simple raster conversion may keep the visible pixels while silently dropping descriptive, rights, or geospatial information.
RFC 3745 also warns that implementations may support only some JPEG 2000 profiles. A decoder can recognize the container and still fail to render all or part of the image.1 Test representative files with the exact software used in production, especially for unusual bit depths, color spaces, large dimensions, or specialized profiles.
As with any complex binary image, process untrusted JP2 files with a maintained decoder, apply memory and pixel limits, and avoid assuming that a small compressed file will decode to a small image.
Footnotes
- Singer, D., et al. RFC 3745: MIME Type Registrations for JPEG 2000. Internet Engineering Task Force, 2004. ↩ ↩2 ↩3
- Joint Photographic Experts Group. Overview of JPEG 2000. JPEG Committee. ↩ ↩2
- International Organization for Standardization. ISO/IEC 15444-1:2000, JPEG 2000 Core Coding System. First edition published December 2000. ↩
- Library of Congress. JPEG 2000 Part 1 (Core) JP2 File Format. Sustainability of Digital Formats. ↩ ↩2 ↩3
- Adobe. Supported File Formats in Photoshop. ↩
- Apple. Convert Image File Types Using Preview on Mac. ↩
- ImageMagick. JP2 Encoding Options. ↩
- WebKit. Remove the Support for JPEG2000. Change landed in 2024. ↩
- Can I Use. JPEG 2000 Image Format Browser Support. Compatibility data accessed August 2026. ↩