
I Built a Browser-Only Image Compressor with WebAssembly — Here's What I Learned
Every online image compressor I've used works the same way: upload to a server, wait, download. TinyPNG, iLoveIMG, Compressor.io — same deal. This always annoyed me. I'm sending my photos to some random server... just to make them smaller? My laptop has a perfectly good CPU sitting right there. And with WebAssembly, the actual compression algorithms (MozJPEG, OxiPNG) can run in a browser now. So I spent the last couple of months building PixelSwift — it compresses, converts, and resizes images entirely in your browser. Nothing gets uploaded anywhere. I wanted to write up the technical bits because I ran into some non-obvious problems along the way. Why not just use a server? The obvious answer is privacy — your images stay on your device. But honestly, what pushed me to go fully client-side was annoyance with the upload model: Slow connections make everything painful. I've sat there watching a progress bar for a 10MB PNG when the actual compression takes 600ms. TinyPNG caps you at 5MB
Continue reading on Dev.to Webdev
Opens in a new tab




