image optimizer for web

pingo image optimizer for web

pingo is an experimental lossless and lossy image optimizer (PNG, JPEG, WebP, APNG) designed to be used for web context

pingo optimizing 400 files optimized 400 PNG losslessly

usage — examples

pingo -sN myfolder
N from 0 to 9, optimization level
pingo -sN -pngfilter=X *.png
X from 1 to 100, quality level

PNG — lossless

-sN in.png
-s9
infile outfile time
43,09 KB 24,69 KB 0,32s
palette ordering
59,71 KB 50,74 KB 0,19s
filtering & alpha
607,27 KB 38,75 KB 0,23s
ordered transforms

PNG — lossy

-pngpalette=X -sN in.png
-pngpalette=100 -s9
infile outfile time
219,49 KB 86,08 KB 0,14s
3-norm: 0.880261
palettization and palette ordering
-pngfilter=X -sN in.png
-pngfilter=100 -s9
infile outfile time
197,91 KB 121,08 KB 0,47s
3-norm: 0.644463
prediction
-pngcolor=X -sN in.png
-pngcolor=100 -s9
infile outfile time
209,30 KB 92,40 KB 0,23s
3-norm: 0.340336
color quantization

PNG — auto

-auto=X -sN in.png
-auto=100 -s6
infile outfile time
171,02 KB 17,31 KB 0,57s
3-norm: 0.000000
lossless optimization
580,38 KB 25,91 KB 0,26s
3-norm: 0.145828
palettization
232,79 KB 148,77 KB 0,29s
3-norm: 0.512102
prediction
975,49 KB 544,41 KB 0,24s
3-norm: 0.303255
JPEG conversion

JPEG — lossless

-jpgtype=X -sN in.jpg
X from 0 to 2, compression type
-jpgtype=0 -s0
infile outfile time
890,51 KB 847,09 KB 0,04s
baseline — fast decode/encode
-jpgtype=1 -s0
infile outfile time
890,51 KB 808,54 KB 0,07s
progressive — slower decode
-jpgtype=2 -s0
infile outfile time
890,51 KB 790,34 KB 0,18s
progressive — slower decode/encode

WebP — lossless

-webp-lossless -sN in.png
-webp-lossless -s9
infile outfile time
344,80 KB 271,48 KB 0,68s
palette ordering (from PNG)
-sN in.webp
-s9
infile outfile time
968,56 KB 208,38 KB 0,53s
palette ordering (from WebP)

WebP — lossy

-webp-lossy=X -sN in.png
-webp-lossy=100 -s9
infile outfile time
195,58 KB 72,20 KB 0,06s
3-norm: 0.824367
alpha optimization
-webp-lossy=X -nopre -sN in.png
-webp-lossy=100 -nopre -s9
infile outfile time
251,73 KB 93,54 KB 0,13s
3-norm: 0.503232
alpha optimization
-webp-palette=X -sN in.png
-webp-palette=100 -s9
infile outfile time
157,49 KB 35,91 KB 0,19s
3-norm: 0.733423
palettization and palette ordering
-webp-near=X -sN in.png
-webp-near=100 -s9
infile outfile time
280,64 KB 181,61 KB 0,46s
12-norm: 0.319650
tweaked near_lossless
-webp-nigh=X -sN in.png
-webp-nigh=100 -s9
infile outfile time
280,64 KB 176,65 KB 0,35s
12-norm: 0.492774
cq close lossless

WebP — auto

-webp=X -sN in.png
-webp=100 -s9
infile outfile time
171,02 KB 6,94 KB 0,05s
3-norm: 0.000000
lossless optimization
580,38 KB 20,84 KB 0,17s
3-norm: 0.145828
palettization
232,79 KB 50,33 KB 0,05s
3-norm: 0.688819
lossy WebP
975,49 KB 336,31 KB 0,10s
3-norm: 0.429605
lossy WebP

APNG — lossless

-sN in.png
-s9
infile outfile time
114,19 KB 103,34 KB 0,93s
palette ordering
621,74 KB 510,57 KB 0,79s
filtering & alpha

APNG — lossy

-pngpalette=X -sN in.png
-pngpalette=100 -s9
infile outfile time
370,09 KB 213,87 KB 2,58s
3-norm: 0.247078
palettization and palette ordering
-pngfilter=X -sN in.png
-pngfilter=100 -s9
infile outfile time
621,74 KB 450,51 KB 1,05s
3-norm: 0.367333
prediction

manual updated on 1 July 2022