What is JPEG XR?
JPEG XR is a still-image compression standard derived from HD Photo for continuous-tone imagery. It supports lossy and lossless coding, high bit depths, alpha channels, and high-dynamic-range data.
How JPEG XR works
JPEG XR is standardized as ITU-T T.832 and ISO/IEC 29199-2 and is largely based on Microsoft’s HD Photo format. It uses a reversible, lifting-based lapped transform on 16×16 macroblocks, and the same algorithm serves both lossless and lossy coding. The codestream is organized into frequency bands and optional tiles, which lets a decoder produce a lower-resolution image or a region without processing the whole file. Sample formats go well beyond 8-bit JPEG: 8- and 16-bit integer, 16- and 32-bit fixed-point and floating-point, in monochrome, RGB, CMYK, and n-channel layouts, with an optional alpha plane. Lossless coding covers the 8- and 16-bit formats; for 32-bit fixed-point and floating-point data, the standard says fully lossless compression is not available in general. The usual .jxr file is a tag-based container, modeled on TIFF and Exif structures, that holds the pixel format and optional metadata around the codestream.
Key facts
- A decoder that supports JPEG XR may still reject a given file. The standard defines Sub-Baseline, Baseline, Main, and Advanced profiles plus levels, and its media type registration warns that a receiving decoder may not support all of them. Alpha and floating-point pixel formats first appear in the Main profile, and Microsoft documents its Windows codec as supporting up to Main profile and level 128. A file can declare its profile and level in an optional structure; when that is missing, the standard infers the Advanced profile at the highest level, so an undeclared file has to be tested, not assumed to fit. Check the profile, level, and pixel format of your files against your decoder’s limits, not only the codec name.
- The
.jxrcontainer can carry an ICC profile, Exif, and XMP in dedicated tags, but the standard permits these tags without requiring decoders to interpret them. A bare codestream, which the Windows encoder can also write in its stream-only mode, has no container metadata at all. Verify color profile and metadata survival separately from pixel decoding. Carrying a profile across is also not the same as interpreting the samples correctly: the standard’s informative color guidance says fixed- and floating-point RGB should be linear scRGB, while unsigned-integer RGB with no profile or other color information should be assumed to be sRGB. Producing a web derivative from HDR samples therefore involves a color and range conversion, not just re-encoding the same numbers. - The registered media type is
image/jxrwith the extension.jxr, and container files begin with the bytes49 49 BC. Windows also uses.wdp, and its decoder accepts both JPEG XR and the older HD Photo format, which Microsoft says differs from the standard in some respects. The extension alone therefore does not tell you which of the two a file contains.
When JPEG XR matters
JPEG XR is relevant where Windows’ built-in codec is available or where its high-bit-depth, HDR, or lossless modes are needed. Among browsers, only Internet Explorer and the original, pre-Chromium Microsoft Edge decoded it, so web delivery requires conversion to another format.