JavaScript Image Compress Using HTML5 Canvas and File API Before Upload
phplift.net
phplift.net
Oh wait. It's a redirect to StackOverflow?!
https://stackoverflow.com/questions/23945494/use-html5-to-re...
There are far more knobs you can tune whereas the native browser conversion only has mimetype and quality (via toBlob: https://developer.mozilla.org/en-US/docs/Web/API/HTMLCanvasE...)
It also does make sense for you to pick and choose only the compression codecs you will need. Otherwise the cost of making every client download huge and unused wasm libraries might outweigh any bandwidth savings from compression.
https://raw.githubusercontent.com/brunobar79/J-I-C/master/sr...
// 8 Lines not including sarcastic comments obviously.
Image-conversion is the library I've used the most, since you can target file-size || quality: