#pngquant 2 This is the official `pngquant` and `libimagequant`. [pngquant](http://pngquant.org) converts 24/32-bit RGBA PNGs to 8-bit palette with *alpha channel preserved*. Such images are compatible with all modern browsers, and a special compatibility setting exists which helps transparency degrade well in Internet Explorer 6. Quantized files are often 40-70% smaller than their 24/32-bit version. This utility works on Linux, Mac OS X and Windows. ##Usage - batch conversion of multiple files: `pngquant *.png` - Unix-style stdin/stdout chaining: `… | pngquant - | …` To further reduce file size, try [optipng](http://optipng.sourceforge.net) or [ImageOptim](http://imageoptim.pornel.net). ##Improvements since 1.0 Generated files are both smaller and look much better. * Significantly better quality of quantisation - more accurate remapping of semitransparent colors - special dithering algorithm that does not add noise in well-quantized areas of the image - uses variance instead of popularity for box selection (improvement suggested in the original median cut paper) - feedback loop that repeats median cut for poorly quantized colors - additional colormap improvement using Voronoi iteration - supports much larger number of colors in input images without degradation of quality - gamma correction (output is always generated with gamma 2.2 for web compatibility) * More flexible commandline usage - number of colors defaults to 256 - long options and standard switches like `--` and `-` are allowed * Refactored and modernised code - C99 with no workarounds for old systems - floating-point math used throughout - Intel SSE optimisations - multicore support via OpenMP - quantization moved to standalone libimagequant ##Options See `pngquant -h` for full list. ###`--quality min-max` `min` and `max` are numbers in range 0 (worst) to 100 (perfect), similar to JPEG. pngquant will use the least amount of colors required to meet or exceed the `max` quality. If conversion results in quality below the `min` quality the image won't be saved (if outputting to stdin, 24-bit original will be output) and pngquant will exit with status code 99. pngquant --quality=65-80 image.png ###`--ext new.png` Set custom extension (suffix) for output filename. By default `-or8.png` or `-fs8.png` is used. If you use `--ext=.png --force` options pngquant will overwrite input files in place (use with caution). ###`-o out.png` or `--output out.png` Writes converted file to the given path. When this option is used only single input file is allowed. ###`--skip-if-larger` Don't write converted files if the conversion isn't worth it. ###`--speed N` Speed/quality trade-off from 1 (brute-force) to 11 (fastest). The default is 3. Speed 10 has 5% lower quality, but is 8 times faster than the default. Speed 11 disables dithering and lowers compression level. ###`--nofs` Disables Floyd-Steinberg dithering. ###`--floyd=0.5` Controls level of dithering (0 = none, 1 = full). ###`--posterize bits` Reduce precision of the palette by number of bits. Use when the image will be displayed on low-depth screens (e.g. 16-bit displays or compressed textures in ARGB444 format). ###`--version` Print version information to stdout. ###`-` Read image from stdin and send result to stdout. ###`--` Stops processing of arguments. This allows use of file names that start with `-`. If you're using pngquant in a script, it's advisable to put this before file names: pngquant $OPTIONS -- "$FILE"