Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
The 'indexed' PNG looks quite bad. Using an 8-bit palette doesn't mean using terrible dithering, you can get this image down to 70-80kB with a 80-120 colors palette, and because of the solid surfaces it doesn't need any dithering at all.
Try https://squoosh.app, it runs the compressors in-browser with WASM and you can fine tune the parameters live.
There are a myriad of PNG (and in general DEFLATE) optimizers and pingo hosts its own benchmark [1]. I believe ECT [2] is the only tool comparable to pingo in terms of compression ratio and speed. But pingo still lacks a license statement and it's even unclear whether you can use this for any purpose at all, probably because it is still "experimental", so if you don't like that you can try ECT instead.
> One thing I didn't check is that you might pay that in decoding time, I've never seen anybody talking about that though.
PNG and in general DEFLATE-based formats are mostly free from this concern because they are comparably simple. The maximum "overhead" you can intentionally trigger is a very large LZ77 window and a very deep Huffman tree; the former is however capped to 32 KB in DEFLATE, and the latter will mostly result in an inferior compression (a long prefix code means a larger file).
[1] https://css-ig.net/benchmark/png-lossless
[2] https://github.com/fhanau/Efficient-Compression-Tool
If anyone is interested in lossy PNG compression, please check out my project at https://github.com/foobaz/pngloss
It doesn't compress as well as JPEG or other formats that are designed to be lossy. But if you need PNG for some reason like alpha channel or application requirements, or if your image is particularly well-suited to my compression algorithm, it might be a good choice.