Crunch is a macOS tool for lossy PNG image file optimization. It combines selective bit depth, color type, and color palette reduction with zopfli DEFLATE compression algorithm encoding using embedded versions of the pngquant and zopflipng PNG optimization tools. This approach leads to a significant file size gain relative to lossless approaches at the expense of a relatively modest decrease in image quality (see example images below).
Historical benchmarks with the files included in Cédric Louvrier's PNG Test Corpus versus other commonly used PNG optimization software are available in BENCHMARKS.md.
Crunch PNG image optimization is available through:
- Crunch - a macOS drag and drop GUI tool
- Crunch Image(s) - a macOS right click menu service for PNG images selected in the Finder
Want to kick the tires? Choose one of the methods below:
$ brew cask install crunch
Note that you must use brew cask install
and not brew install
!
Following your install you can upgrade to the latest version with:
$ brew cask uninstall crunch && brew cask install crunch
Download the dmg installer, click it, and drag the Crunch icon to your Applications directory.
Upgrade by following the same instructions and allowing the new version to replace the old version on your system.
Crunch PNG image optimization is available through the macOS right click menu service "Crunch Image(s)".
Please see SERVICE.md for documentation.
The following examples demonstrate the benefits and disadvantages of the current iteration of Crunch's aggressive space saving lossy optimization. In many cases, Crunch's optimization minimizes file size with an imperceptible decrease in image quality. In some cases, Crunch's optimization can significantly decrease the quality. For example, the horizon line + clouds in the prairie photo below. Experiment with the image types used and please submit a report with examples of any images where the image quality falls short of expectations for production-ready files.
- Original Size: 583,398 bytes
- Optimized Size: 195,491 bytes
- DSSIM similarity score: 0.001481
- Original Size: 138,272
- Optimized Size: 64,947
- DSSIM similarity score: 0.000913
- Original Size: 196,794 bytes
- Optimized Size: 77,595 bytes
- DSSIM similarity score: 0.002988
- Original Size: 197,193 bytes
- Optimized Size: 67,632 bytes
- DSSIM similarity score: 0.000163
- Original Size: 249,251 bytes
- Optiimized Size: 68,309 bytes
- DSSIM similarity score: 0.002575
- Original Size: 440,126 bytes
- Optimized Size: 197,045 bytes
- DSSIM similarity score: 0.000481
All images above were obtained from Pixabay and are dedicated to the public domain under the CC0 Public Domain Dedication.
Drag and drop your PNG images onto the Crunch window:
Your optimized file is saved in the same directory as the original file with the modified path [original filename]-crunch.png
.
Please create a new issue report on the Github issue tracker.
Crunch is licensed under the MIT license.
pngquant is licensed under the Gnu General Public License, version 3. The pngquant source code is available here.
zopflipng is licensed under the Apache License, Version 2.0. The zopflipng source code is available here.
See the LICENSE.md document for details and additional licensing information for this project.
Crunch is a simple tool that makes excellent, free, open source software built by others accessible through a GUI. The hard work on the optimization engines that run Crunch has been performed by:
- Lode Vandevenne, Jyrki Alakuijala, and the zopfli project contributors
- Kornel Lesiński and the pngquant project contributors