Pngcrush is an optimizer for PNG (Portable Network Graphics) files. It can be run from a commandline in an MSDOS window, or from a UNIX or LINUX commandline. Its main purpose is to reduce the size of the PNG IDAT datastream by trying various compression levels and PNG filter methods. It also can be used to remove unwanted ancillary chunks, or to add certain chunks including gAMA, tRNS, iCCP, and textual chunks.
Pngcrush is open source and may be used, modified, and redistributed by anyone without paying a fee. The license, embedded in the file pngcrush.c, is equivalent but not identical to the libpng license found in the libpng file png.h. The current version of pngcrush is identified here. The source code for pngcrush is here. The source code for pngcrush can also be found in the "pmt" git repository. You can access it by cloning from git.code.sf.net/p/pmt/code or github.com/glennrp/libpng". At present, the pngcrush source is located in the "pngcrush" branch. Binary executables are here. Pngcrush uses libpng and zlib, both of which are included in this pngcrush source distribution. They are slightly modified:
If you prefer, you can compile only pngcrush.c from the pngcrush source distribution and run it with the stock libpng and zlib, which can be found at the PNG web site, www.libpng.org/pub/png/. If you do this,
Precompiled binaries for Windows (runs in MSDOS window) are here A fork of pngcrush development exists, by Cosmin Truta, with a slightly different feature set and search space. See http://www.cs.toronto.edu/~cosmin/pngtech/optipng/" Pngcrush is a commandline application. If you prefer a draggity-droppity GUI, several are available, including these which embed pngcrush along with other commandline image compressors/optimizers:
Apple distributes a modified version of pngcrush. It claims to be the real pngcrush and does not inform the user of the changes as the pngcrush license requires. It creates files that are not valid PNG datastreams, since they begin with the CgBI chunk instead of the IHDR chunk. The Apple-modified pngcrush is capable of reverting the "iPhone optimizations" (except for unavoidable loss of precision in the underlying color values of non-opaque pixels). There are also third-party applications such as the public domain, open source pngdefry application that can be found on the net. I am required to note that Apple and iPhone are registered trademarks of Apple, Inc. Links to translations of this page, or older versions of it, are available. The author of pngcrush is Glenn Randers-Pehrson,
glennrp@users.sf.net |