<<<

JPEG XL Image Tests

This page contains JPEG XL images that may not be displayed by your browser.

A collection of JPEG XL images to test browser compatibilities. All pictures are taken individually by me, and most of them are taken during my trip to Padang, West Sumatra!

These images are made with Krita 5.2.0-prealpha nightly [bebb329] with included libjxl 0.7.0. Krita is planned to have a lot of JPEG XL improvements for 5.2.0 release, such as CMYK support and improved file handling.

RGB Color Profile Test

Just like the original ICC's v4 browser test, the test image below uses a mix of color profiles. But in this case the quadrants are a mix between CICP and ICC that JPEG XL supports.

CICP: Linear sRGB

CICP: Linear sRGB

CICP: ProPhotoRGB g=1.8

CICP: ProphotoRGB
ICC: ACEScg L*

ICC: ACEScg g=L*

ICC: GBR

ICC: GBR

Expected Results

The display of above test will change whether your browser supports JPEG XL color profile or not. Here are the possible outcomes.

Fully managed

Fully managed

Not managed

Not managed

RGB+Alpha Test

8bpc RGB with alpha channel / transparency.


Tree with alpha transparency

Expected Results

The transparency around the land and tree should be smooth:


HDR Color Profile Test

A full test of HDR JPEG XL image is available here. However, I decided to make one myself using Krita and their HDR capabilities.


Sunset Beach HDR PQ

Sunset Beach - HDR Rec.2020 PQ - 16bit integer


Sunset Beach Linear

Sunset Beach - HDR Rec.2020 Linear - 16bit float

Expected Results

HDR images are tricky to get an estimation of the expected results. But with a properly managed color, those two images above should looks roughly the same. Mostly, unmanaged HDR will look completely washed.

[Optional] CMYK Color Profile Test

Not a mandatory test, as CMYK is only used in print and press.


As original profile

Sunset Beach Soccer - Original

Sunset Beach Soccer
Maintaining original pixel profile as CMYK while saving to JPEG XL. When unmanaged, this will look garbled as the CMY will get interpreted as RGB. Or in some cases might cause crash if the viewer forgot to pull the extra channel (K) plane while attempting to apply 4-channel CMYK ICC profile into 3-channel image.

As XYB profile

Sunset Beach Soccer - XYB

Converting the pixel profile to XYB while saving to JPEG XL. Improving lossy compression significantly and may work well on browser since it will display it as (linear) sRGB. However, it is a little bit tricky for authoring app to get it back to original CMYK profile, as it will involve at least an extra color conversion to prevent sRGB clipping (at least in my findings in LCMS2, I need to pull it as F32 linear sRGB -> convert to F32 CMYK original profile -> convert to desired bit depth, last conversion can be skipped if the desired depth is already at float).

Expected Results

Fully managed

Fully managed

Not managed

Not managed

[Optional] Depth + Thermal channels

Also not mandatory, just an image with depth data and (fake) thermal data.


Suzanne multichannel

Suzanne Blender render

Extra Information

A simple 8-bit RGBA image with added depth and thermal data as shown below. With a total of 6 channels (RGBA+Depth+Thermal) to JXL file itself.

Depth data

Depth data

Thermal data

Thermal data

Animation + varDCT / Modular

Animation capability tests, these images are 8bpc, RGBA, sRGB, 12 FPS, 80 frames total. Encoded with quality roughly about 9.4 in libjxl distance, along with different compression methods that JPEG XL offers.


varDCT compression

VarDCT compression method

modular compression

Modular compression method

Expected Results

The images should be animated properly at 12 FPS. If the image is still, then the JPEG XL animation support is not present on your browser.

© 2020-2025 Kampidh