Iceberg
0b5vr, 34 bytes. Winner of the Inercia Demoparty 2022 JXL art compo.
JXL Art
Procedural images encoded as tiny JPEG XL files. Browse SDR and HDR pieces, create your own, or learn how the movement started.
Featured
0b5vr, 34 bytes. Winner of the Inercia Demoparty 2022 JXL art compo.
byteobserver, 98 bytes. A compact abstract scene built entirely from JPEG XL tools.
totocaca, 81 bytes. A classic example from the August 2021 compo.
Your browser doesn’t support JXL natively, so we’re using a local WebAssembly decoder that will be slower than native rendering.
JPEG XL (aka JXL) is a next-gen image codec designed to replace JPEG and PNG.
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!
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.
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:
2021, Jon Sneyers, image/jxl, 218 bytes
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.
In November 2022, a compo was organized at the Inércia Demoparty 2022.
First place:
2022, 0b5vr, image/jxl, 34 bytes
Second place:
2022, byteobserver, image/jxl, 98 bytes
Third place:
2022, _wb_, image/jxl, 352 bytes
In August 2021, a competition was held in the #jxl-art channel on the JXL Discord.
First place:
2021, totocaca, image/jxl, 81 bytes (source)
Second place:
2021, wwwwwwww, image/jxl, 740 bytes (source)
Third place:
or, popularly, “Jon's are more titillating” — 2021, monad, image/jxl, 73 bytes (source)