Lossless JXL is damn good. Even on its lowest-effort setting, it can improve on PNG's best-case file size by 25%, while doing so 150 times faster. This alone is a big win. On its highest-effort setting (much slower), JXL completely blows PNG out of the water with files about half the size.
Lossless JXL file sizes can be almost as tiny as the best quality lossy JPEG, if you've got CPU cycles to dedicate.
Lossless JXL's "compression effort" setting has a much larger impact on elapsed time than it does on file size. Setting effort=9 results in files 70% the size of effort=1, but takes 7000 times longer. Effort settings above 7 (the default) aren't probably worth it. Setting effort=9 costs 15x more time than effort=7 for only 1% to 2% reduction in file size.
If you're looking for a blazingly fast PNG replacement, try JXL in lossless mode with effort=1.
Tools used for the test: netpbm (pnmtojpeg, jpegtopnm, pnmtopng, pngtopnm)
libjxl (cjxl, djxl) Squoosh – In-browser image converter[42]
Adobe Camera Raw – Adobe Photoshop's import/export for digital camera images[43]
Affinity Photo – raster graphics editor[44]
Chasys Draw IES – raster graphics editor[45]
Darktable – raw photo management application[46]
ExifTool – metadata editor[47]
FFmpeg – multimedia framework, via libjxl[48]
GIMP – raster graphics editor[49]
gThumb – image viewer and photo management application for Linux[50]
ImageMagick – toolkit for raster graphics processing[51]
IrfanView – image viewer and editor for Windows[52]
KaOS – Linux distribution[53]
Krita – raster graphics editor[54][55]
libvips – image processing library[56][57]
vipsdisp – high-performance ultra-high-resolution image viewer for Linux[58]
Qt and KDE apps – via KImageFormats[59]
XnView MP – viewer and editor of raster graphics[60]
Pale Moon – web browser[61]