cross-posted from: https://linkage.ds8.zone/post/523771
Before posting an image to the fedi, I want to be mindful about the network burden it will cause. I’m only uploading the image once but potentially thousands of people could end up downloading it.
If it’s a color image, then JPG is typically best. This #ImageMagick command reduces the filesize quite a bit, trading off quality:
$ convert "$original_image_file" \ +dither \ -posterize 8 \ -sampling-factor 4:2:0 \ -strip \ -quality 75 \ -interlace Plane \ -gaussian-blur 0.05 \ -colorspace RGB \ -strip \ smaller_file.jpgIf it’s a pic of a person, this processing will likely be a disaster. But for most things where color doesn’t matter too much, it can be quite useful. Play with different
-posterizevalues.If you can do with fewer pixels, adding a
-resizehelps.$ convert "$original_image_file" -resize 215x smaller_file.jpgIf you can get away with black and white, jpeg is terrible. Use PNG instead. E.g.
$ convert "$original_image_file" -threshold 30% -type bilevel smaller_file.pngFor privacy, strip the metadata
The ImageMagick
-stripoption supposedly strips out metadata. But it’s apparently not thorough because the following command yields a slightly smaller file size:$ exiftool -all= image.jpgWhat else?
Did I miss anything? Any opportunities to shrink images further? In principle the DjVu format would be more compact but it’s not mainstream and apparently not accepted by Lemmy.


You didn’t name it but WEBP is the format you are looking for.
It’s been fully supported for so long already and has better compression than JPG and PNG by far. You could even technically compress it with specific algorithms for text, icons, photographs… Or simply the default compression algorithm.
You’ll encounter virtually 0 issues with it on the fediverse.
There are even better formats but these definitely are not as supported currently.
https://caniuse.com/avif
avif is also already fairly widely supported.