PNG decoding and encoding library in pure Rust
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Balazs Horvath 84fe97dae8 Fix png miniz_oxide dependency to use git.sly.so
- Fixed miniz_oxide dependency from local path to git.sly.so
- This resolves the build error preventing mappy-server compilation
2026-05-05 20:11:34 +02:00
.cargo Add support for wasm32 development 2025-06-23 12:51:22 +02:00
benches Fix build of benchmarks (#634) 2025-08-29 20:07:19 -07:00
examples Converge examples on clap 2025-08-26 18:24:27 +02:00
fuzz Call finish to consistently detect errors in buf_independent. (#667) 2026-01-13 15:09:51 -08:00
png-afl Remove usages of extern crate 2024-06-29 11:39:06 +07:00
src chore: sync dependencies (monorepo) 2026-04-13 10:56:35 +02:00
tests Unfilter using scratch buffer when mutable space is unavailable. 2026-01-26 20:50:24 +00:00
.dockerignore Provide docker files for building the fuzzer 2019-09-21 01:40:15 +02:00
.gitignore Add encoder tests for when the input is delivered in multiple chunks 2018-11-20 17:26:54 +01:00
.rustfmt.toml Reset rustfmt to the config required by CI 2024-10-21 10:56:42 +01:00
Cargo.toml Fix png miniz_oxide dependency to use git.sly.so 2026-05-05 20:11:34 +02:00
CHANGES.md Populate changelog 2026-02-14 13:41:17 +00:00
Dockerfile Provide docker files for building the fuzzer 2019-09-21 01:40:15 +02:00
LICENSE-APACHE Update license to MIT/Apache-2.0. 2016-01-27 10:22:14 -05:00
LICENSE-MIT Update license to MIT/Apache-2.0. 2016-01-27 10:22:14 -05:00
README.md Corrections to README.md 2024-09-29 06:34:38 +01:00

PNG Decoder/Encoder

Build Status Documentation Crates.io License

Robust and performant PNG decoder/encoder in pure Rust. Also supports APNG.

No unsafe code, battle-tested, and fuzzed on OSS-fuzz.

Performance

Performance is typically on par with or better than libpng.

Includes a fast encoding mode powered by fdeflate that is dramatically faster than the fastest mode of libpng while simultaneously providing better compression ratio.

On nightly Rust compiler you can slightly speed up decoding of some images by enabling the unstable feature of this crate.

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.