This is where we put the original versions of images so that we can update them if needed. _opt versions of the files are compressed/optimised and are the versions that are embedded in the Wiki. Optimizing SVG files: svgcleaner seems to be the best tool for reliably shrinkifying SVG files (does a better job of using groups to apply shared styles than scour): https://github.com/RazrFalcon/svgcleaner Available in Arch as community/svgcleaner. Run using: svgcleaner --multipass --coordinates-precision 3 --properties-precision 3 --transforms-precision 3 --paths-coordinates-precision 5 file.svg file_opt.svg if you want the output in a human readable form so that it can be hand-tweaked, the best bet is xmlstarlet (svgcleaner can indent, but it doesn't always put line breaks where you need them): cat file_opt.svg | xmlstarlet fo Once tweaked, you can use the following to strip the indentation: cat file_opt.svg | xmlstarlet fo -n | tr -d '\n' > final.svg Optimising PNG files: oxipng seems to be the best of the commonly available PNG optimisers. It has support for Zopfli which generally offers better compression than zlib. https://github.com/shssoichiro/oxipng Available in Arch as community/oxipng. Run using: oxipng --strip safe --alpha --zopfli -o max --out file_opt.png file.png