Procedural images encoded as tiny JPEG XL files. This page doubles as a gallery and a browser support test.
This page only works if your browser has JPEG XL support.
JXL?
JPEG XL (aka JXL) is a next-gen image codec designed to replace JPEG and PNG.
JXL Art?
JXL art is a form of procedural image generation that exploits the powerful meta-adaptive context model (and other coding tools) of JXL to produce interesting-looking images that are tiny JXL files. You can try it yourself here!
If you have made JXL Art yourself, please share it on the JXL Discord and perhaps it will be added here!
Recent works
JXL art gallery with source links — SDR pieces with links to the JXL Art tool so you can view, edit, and download the “source code”. HDR pieces are on a separate page.
History and Early Works
The JPEG XL bitstream was finalized in January 2021. It became clear (to its authors) that “interesting stuff” could be done with tiny JXL files, because of the combination of compact headers, powerful entropy coding, and the MA tree context modeling. Jon Sneyers had already played with representing cellular automata as MA trees in the context of FLIF, and suggested trying something similar in JXL, noting that JXL’s MA trees are even more expressive than FLIF’s, and that unlike FLIF’s, JXL’s entropy coding can encode zero-residual-entropy pixels in literally zero bits. On March 23rd, Luca Versari wrote the jxl_from_tree utility, which was turned into an online tool by Surma. The #jxl-art channel was started on the JXL Discord. This was the start of the JXL “art movement”.
Early works by Jon from end of March and April 2021 feature a variety of styles and subjects, from very abstract or mathematical to organic and realistic. This first series culminated in this piece (“source code”) from April 23rd, 2021:
Tropical Island Sunset with JXL logo overlay
2021, Jon Sneyers, image/jxl, 218 bytes
Animation and Splines
More features were added to the jxl_from_tree utility. Jon added support for animation and blend modes in May 2021. Sami Boukortt added support for splines on June 29th. With splines, smooth curves can be drawn easily, which nicely complements what can be achieved with MA trees.
JXL Art Compos
Inércia Demoparty 2022
In November 2022, a compo was organized at the Inércia Demoparty 2022.
First place:
Iceberg
2022, 0b5vr, image/jxl, 34 bytes
Second place:
block nebula
2022, byteobserver, image/jxl, 98 bytes
Third place:
JXL
2022, _wb_, image/jxl, 352 bytes
August 2021 Compo
In August 2021, a competition was held in the #jxl-art channel on the JXL Discord.
First place:
Rubin golden vase 1
2021, totocaca, image/jxl, 81 bytes (source)
Second place:
zou
2021, wwwwwwww, image/jxl, 740 bytes (source)
Third place:
Lucifer's Dominion: Synthesis
or, popularly, “Jon's are more titillating” — 2021, monad, image/jxl, 73 bytes (source)