Rust PNG crate powers Chromium and GNOME, gets faster and safer
A Rust PNG decoder now sits in Chromium and GNOME’s image path, where speed gains matter for tiny images, APNG, and safer defaults.
A PNG crate most users never think about just got faster, but the bigger story is where it already lives: underneath Chromium and GNOME’s image-loading stack. For Rust developers, that turns a benchmark win into something much more tangible, because this code now shapes how fast apps feel, how image pipelines behave on weak hardware, and how far Rust infrastructure libraries have moved into the default path.
On June 18, image-rs described image-png as a safe Rust implementation of PNG that complies with the PNG Third Edition and supports APNG. The project said it had already been the fastest PNG decoder in the world a year earlier, then got faster still. Chromium has used image-png as its default PNG implementation since M139 in August 2025, across both desktop and mobile, but only after it met strict requirements for features, performance, correctness, compatibility, and security.

That Chromium adoption was not a ceremonial switch. Image-png had to match Chromium’s own zlib fork on real workloads, including lots of tiny images and low-end ARM devices, where decoding overhead shows up immediately in responsiveness. The compatibility work also pushed the crate into details that matter in production: libpng-style error reporting for corrupt or out-of-order chunks, streaming decoding with unusual buffer sizes, intermediate states for partially downloaded PNGs, and support for newer chunks such as mDCV and cLLI.
GNOME tells a similar story from the desktop side. Its glycin project presents itself as a safe, sandboxed, extendable system for loading, editing, creating images, and reading metadata, all written in Rust. GNOME 49, released in September 2025, converted gdk-pixbuf on Linux into a thin wrapper around glycin, while the gdk-pixbuf 2.43.3 notes say Linux interprets the default as glycin and other platforms keep png,jpeg as the default. GNOME has also already used glycin in Loupe, its default image viewer, tying the Rust-based loader directly to a shipping user-facing app.
The larger arc is hard to miss. PNG Third Edition, the W3C recommendation, formalized modern extensions to a lossless raster format that has been everywhere for years, and image-rs has spent the last several cycles proving it can carry that burden in real software. A crate built for correctness and safety is now fast enough, compatible enough, and trusted enough to sit invisibly inside Chromium and GNOME, which is exactly where infrastructure earns its credibility.
This article was produced by Prism’s automated news system from verified source data, official records, and press releases, then run through automated quality and moderation checks before publishing. The system is built and supervised by the people who set the standards it runs under. Read our full AI policy.
Did this article answer your question?


