top | item 46708032

JPEG XL Test Page

242 points| roywashere | 1 month ago |tildeweb.nl

159 comments

order

demetris|1 month ago

I published some benchmarks recently:

https://op111.net/posts/2025/10/png-and-modern-formats-lossl...

I compare PNG and the four modern formats, AVIF, HEIF, WebP, JPEG XL, on tasks/images that PNG was designed for. (Not on photographs or lossy compression.)

tasty_freeze|1 month ago

It seems like the natural categories are (1) photographs of real things, (2) line art, (3) illustrator images, (4) text content (eg, from a scanned document).

Is there a reason you used only synthetic images, ie, nothing from group 1?

enimodas|1 month ago

Would be nice to also see decompression speed and maybe a photo as a bonus round.

gcr|1 month ago

One thing I like about JPEG-XL is that it supports all kinds of weird image formats.

For example, I used to work with depth data a lot, which is best expressed as monochrome 16-bit floating point images. Previously, TIFF was the only format that supported this. Many shops would instead save depth images as UINT16 .PNG files, where the raw pixel intensity maps to the camera distance in mm. The problem with this is that pixels more than 65.535 meters away aren't representable. (Hot take: I personally think this is one reason why nobody studies depth estimation for outdoor scenes.)

JPEG-XL supports more weird combinations here, e.g. storing greyscale float32 images (with alpha even! you can store sparse depth maps without needing a separate mask!)

It's like, uniquely suited to these sorts of 3D scene understanding challenges and I really hope people adopt the format for more scientific applications.

GuB-42|1 month ago

> One thing I like about JPEG-XL is that it supports all kinds of weird image formats.

And it is probably the reason why browser vendors disliked it. Lots of complexity, it means a big library, which is high maintenance with a big attack surface. By comparison, webp is "free" if you have webm, as webp is essentially a single frame video.

somat|1 month ago

On the subject of tiff, why is it not used more? I mean, it is more or less really a container format right. Why are we not using it all over the place but with modern compression methods?

JBorrow|1 month ago

There is also FITS, but that is mainly for astronomical applications (and is in general an insane and terrible format). But it supports tons of types!

p_ing|1 month ago

Orion, and presumably other Webkit-based browsers that are actually up-to-date, can also see the image.

Hopefully my photo processor will accept JPEG XL in the near future!

nine_k|1 month ago

Chromium 143 (the latest available in Void Linux, a rolling-release distro) still can't.

The chrome://flags/#enable-jxl-image-format is not even found in the build :(

RicoElectrico|1 month ago

> Hopefully my photo processor will accept JPEG XL in the near future!

Aren't print shops, machining shops, other small manufacturers etc. ones that always lag behind with emerging technologies?

pkulak|1 month ago

Yup, Gnome Web loads it just fine! Man, it really is a great browser. I try to switch to it every 6 months, but then I remember that it doesn't support extensions at all. I could give up everything, but not 1Password. Nothing is worth copy/pasting credentials and losing passkeys entirely.

numbers|1 month ago

I'm seeing the image on zen which is a firefox fork but not on firefox itself :/

even with `image.jxl.enabled` I don't see it on firefox

capitainenemo|1 month ago

Checking the Firefox bugs on this, it seems they decided to replace the C++ libjxl with a rust version which is a WIP, to address security concerns with the implementation. All this started a few months ago.

Maybe the zen fork is a bit older and still using the C++ one?

dietr1ch|1 month ago

Flipping `image.jxl.enabled` made it work for me after refreshing the page. I'm using Librewolf 146.0.1-1, but I guess it works just fine in firefox 146

rhdunn|1 month ago

Works in ladybird as well.

jiggawatts|1 month ago

Support is not a boolean.

A proper test page should have HDR images, images testing if 10-bit gradients are posterised to 8-bit or displayed smoothly, etc...

iOS for example can show a JPEG XL image, but can't forward it in iMessage to someone else.

mort96|1 month ago

HDR support is an anti-feature. Nobody want a part of a website to suddenly be 10x as bright as pure white.

uyzstvqs|1 month ago

JPEG XL is also good, but why not use AVIF? It's widely supported by browsers, and rivals JPEG XL in being the best lossy image format.

judah|1 month ago

Jake Archibald has an excellent post about progressive image rendering, including some metrics on JPEG XL compared to AVIF[0].

> "I was also surprised to see that, in Safari, JPEG XL takes 150% longer (as in 2.5x) to decode vs an equivalent AVIF. That's 17ms longer on my M4 Pro. Apple hardware tends to be high-end, but this could still be significant. This isn't related to progressive rendering; the decoder is just slow. There's some suggestion that the Apple implementation is running on a single core, so maybe there's room for improvement.

> JPEG XL support in Safari actually comes from the underlying OS rather than the browser. My guess is that Apple is considering using JPEG XL for iPhone photo storage rather than HEIC, and JPEG XL's inclusion in the browser is a bit of an afterthought. I'm just guessing though.

> The implementation that was in Chromium behind a flag did support progressive rendering to some degree, but it didn't render anything until ~60 kB (39% of the file). The rendering is similar to the initial JPEG rendering above, but takes much more image data to get there. This is a weakness in the decoder rather than the format itself. I'll dive into what JPEG XL is capable of shortly.

> I also tested the performance of the old behind-a-flag Chromium JPEG XL decoder, and it's over 500% slower (6x) to decode than AVIF. The old behind-a-flag Firefox JPEG XL decoder is about as slow as the Safari decoder. It's not fair to judge the performance of experimental unreleased things, but I was kinda hoping one of these would suggest that the Safari implementation was an outlier.

> I thought that "fast decoding" was one of the selling points of JPEG XL over AVIF, but now I'm not so sure.

> We have a Rust implementation of JPEG XL underway in Firefox, but performance needs to get a lot better before we can land it."

[0]: https://jakearchibald.com/2025/present-and-future-of-progres...

F3nd0|1 month ago

Because JPEG XL is the first format to actually bring significant improvements across the board. In some aspects AVIF comes close, in others it falls far behind, and in some it can’t even compete. There’s just nothing else like JPEG XL and I think it deserves to be supported everywhere as a truly universal image codec.

Socket-232|1 month ago

Why use AVIF when JPEG XL is much better and in a few weeks almost universally supported?

dlcarrier|1 month ago

Are there any up-to-date WebKit browsers for Android? The best I could find was Lightning, but it hasn't been updated in years.

Edit: I found A Lightning fork called Fulguris. It didn't work with the JPEG XL test image, but I really like the features and customizability. It's now my default browser on Android.

zamadatix|1 month ago

The closest thing I know of is Igalia has a project trying to port https://wpewebkit.org/ to Android https://github.com/Igalia/wpe-android and they have a minibrowser example apk in the releases of the current state (but I wouldn't call it a Chrome drop in replacement or anything at the moment - just the closest thing I know on Android).

TingPing|1 month ago

WPE can be built for Android, but it’s not a user facing browser.

cubefox|1 month ago

According to CanIUse, no browser implementation currently supports progressive decoding [1]. This is unfortunate, since progressive decoding theoretically is a major advantage of JPEG XL over AVIF, which doesn't allow it in principle, even though ordinary JPEG allows it. But apparently even a default (non-progressive) JPEG XL allows some limited form of progressive decoding [2]. It's unclear whether browsers support it though.

1: https://caniuse.com/jpegxl

2: https://youtube.com/watch?v=inQxEBn831w

samtheDamned|1 month ago

A rare win for gnome web over firefox here

blell|1 month ago

Alright, that image made be really miss Lenna as an example image.

volemo|1 month ago

I understand why people avoid it now; however, having not seen the uncropped version for a long time initially, I have only warm associations.

reef_sh|1 month ago

On Waterfox. Image displays fine.

hotsalad|1 month ago

I enabled image.jxl.enabled in LibreWolf and works. It doesn't work in Firefox Beta, though?

Frenchgeek|1 month ago

There's a jpeg xl viewer extension available for firefox.

antonyh|1 month ago

Epiphany (aka Gnome Web) on Linux shows this correctly, as expected for a Webkit-based browser.

gary_0|1 month ago

If I download the image, Fedora KDE shows it properly in Dolphin and Gwenview.

ajdude|1 month ago

> this means only Safari will display the image, as far as I know.

Works fine for me in Orion on both desktop and mobile ( https://orionbrowser.com ).

seanclayton|1 month ago

Which makes sense as Orion uses the same engine as Safari.

bigbuppo|1 month ago

Looks like the sort of person that would create a superior image file format.

Incipient|1 month ago

Very good benchmark. Concise yet detailed. I like the selection of images. I wanted to see at least one actual camera photo however, for comparison.

unglaublich|1 month ago

I think JPEG XL's naming was unfortunate. People want to associate new image formats with leanness, lightness, efficiency.

fleabitdev|1 month ago

There was a constraint - since 2009, the Joint Photographic Experts Group had published JPEG XR, JPEG XT and JPEG XS, and they were probably reluctant to break that naming scheme.

They're running out of good options, but I hope they stick with it long enough to release "JPEG XP" :-)

snowram|1 month ago

Considering "jpeg" has become the shorthand for "digital picture", it would be a shame not to capitalise on it.

F3nd0|1 month ago

It seems to me this point of discussion always tends to get way too much focus. Should it really raise concern?

Of all the people who interact with image formats in some way, how many do even know what an image format is? How many even notice they’ve got different names? How many even give them any consideration? And out of those, how many are immediately going to think JPEG XL must be big, heavy and inefficient? And out of those, how many are going to stop there without considering that maybe the new image format could actually be pretty good? Sure, there might be some, but I really don’t think it’s a fraction of a significant size.

Moreover, how many people in said fraction are going to remember the name (and thus perhaps the format) far more easily by remembering it’s got such a stupid name?

bobmcnamara|1 month ago

I found it unfortunate because it's not a JPEG.

edflsafoiewq|1 month ago

Just call it JXL.

formerly_proven|1 month ago

Nobody can keep you from forking the spec and calling yours JPEG SM.

OscarTheGrinch|1 month ago

Crappy as a .jpg, only bigger.

Actually, I remember when JPEG XL came out, and I just thought: cool, file that one away for when I have a really big image I need to display. Which turned out to be never.

Names have consequences.

bigbuppo|1 month ago

It's JPEG Extra Lovely.

bigbuppo|1 month ago

And yet WEBP decided to associate itself with urine, which google then forced on everyone using their monopoly power.

Almondsetat|1 month ago

Do you have anything to back this up?

sailfast|1 month ago

Works on FireFox Focus on mobile, FWIW. (Latest iOS)

cdmckay|1 month ago

That’s because it uses the WebKit renderer built in to iOS

mattlondon|1 month ago

Presumably the "January 2027" statement is a typo, ...or is that when it is slated to launch in safari?

robertoandred|1 month ago

Safari started supporting it over two years ago.

PlatoIsADisease|1 month ago

Yep, doesnt work on firefox or chrome.

nticompass|1 month ago

Works in Zen 1.17.15b (aka Firefox 146.0.1) on Linux.

_grilled_cheese|1 month ago

Working fine on Firefox for me

Firefox version 146.0.1 on Windows 11

jbverschoor|1 month ago

Cannot see it with lockdown mode iOS

Redster|1 month ago

I can see the image just fine on Thorium!

jiehong|1 month ago

> more or less means only Safari will display the image

Who is going to take the bait, and say that Safari isn't like IE?

oldcoot|1 month ago

Looks like it works in Brave

mdasen|1 month ago

Weird, doesn't work in Brave (macOS) for me. Did you enable a setting? Brave says it's up to date when I check.

iberator|1 month ago

Doesn't work for me on Brave on Android

jordemort|1 month ago

Works in Waterfox (6.6.8)

billynomates|1 month ago

Unrelated but I read "it did not saw" and immediately thought, this person is Dutch. Then I saw the .nl domain. Not sure if this double-conjugation mistake is common in other ESL speakers but I hear it a lot living in the Netherlands.

thatgerhard|1 month ago

Is the selectable text a safari thing or a JPEG XL thing?

Alcor|1 month ago

"Live Text" is a iOS/macOS feature. Works in Safari, camera, photos.app, etc…

adzm|1 month ago

Honestly I was hoping for a page showing off more of jpeg xl features rather than just a single image

wmwragg|1 month ago

You probably want the JPEG XL Info[1] site then. A nice site outlining what JPEG XL actually is.

[1] https://jpegxl.info/

gforce_de|1 month ago

can you please:

* add an correct HTML image alt information

* compress your HTML and CSS with brotli (or gzip)

thanks!

davidhyde|1 month ago

Works with Waterfox on macOS but curiously not Firefox. I wonder if their search deal with Google included keeping the image.jxl.enabled setting off.

F3nd0|1 month ago

That’s an interesting speculation, but I’m inclined to believe their official reasoning. (That being they just didn’t really care about the format and/or went with whatever Chrome said at first. A year or so later they changed their mind and said they wanted an implementation in a memory-safe language, which prompted the JXL team to work on it.)

quaintdev|1 month ago

Works on Zen as well.