My experience - found 200+ uncompressed PNGs in a Next.js project at 1am. Spent hours hunting for online compressors, hitting free limits, converting 10 at a time, then manually updating every single import.
That's what pushed me to build pixcrush. What's your story?
Hey Product Hunt!
So, I built pixcrush after finding myself manually updating image imports at 1am, once again… and I finally thought, okay, I am not doing this one more time 😭
Almost every project I have worked on has the same problem: heavy PNG and JPG images sitting inside /public, no WebP, no compression, and file sizes that have no business being in a production codebase.
The fix sounds simple, but the actual cleanup is painfully tedious. Find every image, hunt for an online compressor, hit the free limit, convert them in small batches… and then manually update every import and src path across the codebase.
So I automated the full journey. You run one command → pixcrush finds the images, converts them to optimized WebP, and updates the matching code references automatically. It works offline, with no subscription and no upload limits.
I would love to know - have you also avoided image optimization just because the cleanup felt too tedious? Because that is exactly who I built this for. 🙌
finally a cli that actually rewrites imports too, that part saved me an afternoon of search and replace. local processing was a nice surprise, did not expect that.
Thank you so much! 😊 That was exactly one of the biggest pain points I wanted to solve. Really appreciate you trying Pixcrush and sharing your feedback!