1pngquant(1) BSD General Commands Manual pngquant(1)
2
4 pngquant — PNG converter and lossy image compressor
5
7 pngquant ⟨options⟩ [ncolors] file [file ...]
8 pngquant ⟨options⟩ [ncolors] - <file >file
9
11 pngquant converts 32-bit RGBA PNGs to 8-bit (or smaller) RGBA-palette
12 PNGs, optionally using Floyd-Steinberg dithering. The output filename is
13 the same as the input name except that it ends in ‘-fs8.png’ or
14 ‘-or8.png’ (unless the input is stdin, in which case the quantized image
15 will go to stdout). The default behavior if the output file exists is to
16 skip the conversion; use --force to overwrite.
17
19 -o out.png, --output out.png
20 Writes converted file to the given path. When this option is
21 used only single input file is allowed.
22
23 --ext new.png
24 File extension (suffix) to use for output files instead of the
25 default ‘-fs8.png’ or ‘-or8.png’.
26
27 -f, --force
28 Overwrite existing output files. “--ext .png --force” can be
29 used to convert files in place (which is unsafe).
30
31 --nofs, --ordered
32 Disable Floyd-Steinberg dithering.
33
34 --floyd [=N]
35 Set dithering level using fractional number between 0 (none) and
36 1 (full, the default).
37
38 -s N, --speed N
39 1 (brute-force) to 11 (fastest). The default is 3. Speed 10 has
40 5% lower quality, but is about 8 times faster than the default.
41 Speed 11 disables dithering and lowers compression level.
42
43 -Q min-max, --quality min-max
44 min and max are numbers in range 0 (worst) to 100 (perfect),
45 similar to JPEG. pngquant will use the least amount of colors
46 required to meet or exceed the max quality. If conversion
47 results in quality below the min quality the image won't be
48 saved (or if outputting to stdin, 24-bit original will be out‐
49 put) and pngquant will exit with status code 99.
50
51 --skip-if-larger
52 If conversion results in a file larger than the original, the
53 image won't be saved and pngquant will exit with status code 98.
54 Additionally, file size gain must be greater than the amount of
55 quality lost. If quality drops by 50%, it will expect 50% file
56 size reduction to consider it worthwhile.
57
58 --posterize bits
59 Truncate number of least significant bits of color (per chan‐
60 nel). Use this when image will be output on low-depth displays
61 (e.g. 16-bit RGB). pngquant will make almost-opaque pixels
62 fully opaque and will reduce amount of semi-transparent colors.
63 When this option is enabled the default filename suffix is
64 ‘-ie-fs8.png’ / ‘-ie-or8.png’.
65
66 --strip Remove optional chunks (metadata) from PNG files.
67
68 --transbug
69 Workaround for readers that expect fully transparent color to be
70 the last entry in the palette.
71
72 -v, --verbose
73 Enable verbose messages showing progress and information about
74 input/output. Opposite is --quiet. Errors are output to stderr
75 regardless of this option.
76
77 -V, --version
78 Display version on stdout and exit.
79
80 -h, --help
81 Display help and exit.
82
84 Creating a new image with the number of colors reduced to 64:
85
86 pngquant 64 image.png
87
88 The resulting image will have 64 colors and will be saved as
89 image-fs8.png.
90
91 Overwriting image in-place if it can be reduced without too much quality
92 loss:
93
94 pngquant -f --ext .png --quality 70-95 image.png
95
97 pngquant is developed by Kornel Lesinski ⟨kornel@pngquant.org⟩ based on
98 code by Greg Roelofs ⟨newt@pobox.com⟩.
99
100 pngquant homepage: https://pngquant.org.
101
102 June 20, 2019