Here’s the list of flags / options for pngcrush-1.8.11 – January 2017 Version.
A couple common flags are “-ow” to overwrite the original file with the crushed file and “-brute” to ‘brute-force’ all optimization methods (slowest, but most compression)
pngcrush [options except for -e -d] infile.png outfile.png
pngcrush -e ext [other options] file.png ...
pngcrush -d dir/ [other options] file.png ...
pngcrush -ow [other options] file.png [tempfile.png]
pngcrush -n -v file.png ...
-bail (bail out of trial when size exceeds best size found)
-blacken (zero samples underlying fully-transparent pixels)
-brute (use brute-force: try 148 different methods)
-c color_type of output file [0, 2, 4, or 6]
-check (check CRC and ADLER32 checksums)
-d directory_name/ (where output files will go)
-e extension (used for creating output filename)
-f user_filter [0-5] for specified method
-fix (salvage PNG with otherwise fatal conditions)
-force (write output even if IDAT is larger)
-g gamma (float or fixed*100000, e.g., 0.45455 or 45455)
-huffman (use only zlib strategy 2, Huffman-only)
-iccp length "Profile Name" iccp_file
-itxt b[efore_IDAT]|a[fter_IDAT] "keyword"
-l zlib_compression_level [0-9] for specified method
-loco ("loco crush" truecolor PNGs)
-m method [1 through 150]
-max maximum_IDAT_size [default 524288L]
-mng (write a new MNG, do not crush embedded PNGs)
-n (no save; doesn't do compression or write output PNG)
-new (Use new default settings (-reduce))
-newtimestamp (Reset file modification time [default])
-nobail (do not bail out early from trial -- see "-bail")
-nocheck (do not check CRC and ADLER32 checksums)
-nofilecheck (do not check for infile.png == outfile.png)
-noforce (default; do not write output when IDAT is larger)
-nolimits (turns off limits on width, height, cache, malloc)
-noreduce (turns off all "-reduce" operations)
-noreduce_palette (turns off "-reduce_palette" operation)
-old (Use old default settings (no -reduce))
-oldtimestamp (Do not reset file modification time)
-q (quiet) suppresses console output except for warnings
-reduce (do lossless color-type or bit-depth reduction)
-rem chunkname (or "alla" or "allb")
-replace_gamma gamma (float or fixed*100000) even if it is present.
-res resolution in dpi
-rle (use only zlib strategy 3, RLE-only)
-s (silent) suppresses console output including warnings
-save (keep all copy-unsafe PNG chunks)
-speed Avoid the AVG and PAETH filters, for decoding speed
-srgb [0, 1, 2, or 3]
-ster [0 or 1]
-text b[efore_IDAT]|a[fter_IDAT] "keyword" "text"
-trns_array n trns trns .. trns[n-1]
-trns index red green blue gray
-v (display more detailed information)
-version (display the pngcrush version)
-warn (only show warnings)
-w compression_window_size [32, 16, 8, 4, 2, 1, 512]
-z zlib_strategy [0, 1, 2, or 3] for specified method
-zmem zlib_compression_mem_level [1-9, default 9]
-zitxt b|a "keyword" "lcode" "tkey" "text"
-ztxt b[efore_IDAT]|a[fter_IDAT] "keyword" "text"
-h (help and legal notices)
These notes were also printed with the info statement on the program.
| Copyright (C) 1998-2002, 2006-2016 Glenn Randers-Pehrson
| Portions Copyright (C) 2005 Greg Roelofs
| This is a free, open-source program. Permission is irrevocably
| granted to everyone to use this version of pngcrush without
| payment of any fee.
| Executable name is pngcrush
| It was built with bundled libpng-1.6.28
| and is running with bundled libpng-1.6.28
| Copyright (C) 1998-2004, 2006-2016 Glenn Randers-Pehrson,
| Copyright (C) 1996, 1997 Andreas Dilger,
| Copyright (C) 1995, Guy Eric Schalnat, Group 42 Inc.,
| and bundled zlib-1.2.11, Copyright (C) 1995-2017,
| Jean-loup Gailly and Mark Adler,
| and using “clock()”.
| It was compiled with gcc version 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.42.1).
If you have modified this source, you may insert additional notices
immediately after this sentence.
Copyright (C) 1998-2002, 2006-2016 Glenn Randers-Pehrson
Portions Copyright (C) 2005 Greg Roelofs
DISCLAIMER: The pngcrush computer program is supplied “AS IS”.
The Author disclaims all warranties, expressed or implied, including,
without limitation, the warranties of merchantability and of fitness
for any purpose. The Author assumes no liability for direct, indirect,
incidental, special, exemplary, or consequential damages, which may
result from the use of the computer program, even if advised of the
possibility of such damage. There is no warranty against interference
with your enjoyment of the computer program or against infringement.
There is no warranty that my efforts or the computer program will
fulfill any of your particular purposes or needs. This computer
program is provided with all faults, and the entire risk of satisfactory
quality, performance, accuracy, and effort is with the user.
LICENSE: Permission is hereby irrevocably granted to everyone to use,
copy, modify, and distribute this computer program, or portions hereof,
purpose, without payment of any fee, subject to the following
1. The origin of this binary or source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not be
misrepresented as being the original binary or source.
3. The Copyright notice, disclaimer, and license may not be removed
or altered from any source, binary, or altered source distribution.