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.
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: ProPhotoRGB g=1.8 |
ICC: ACEScg g=L* |
ICC: GBR |
The display of above test will change whether your browser supports JPEG XL color profile or not. Here are the possible outcomes.
![]() Fully managed |
![]() Not managed |
8bpc RGB with alpha channel / transparency.
The transparency around the land and tree should be smooth:
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 Rec.2020 PQ - 16bit integer
Sunset Beach - HDR Rec.2020 Linear - 16bit float
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.
Not a mandatory test, as CMYK is only used in print and press.
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.
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).
![]() Fully managed |
![]() Not managed |
Also not mandatory, just an image with depth data and (fake) thermal data.
Suzanne Blender render
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 |
![]() Thermal data |
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 method
Modular compression method
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.