Image Compressor
ImageCompress JPEG, PNG, and WebP images in the browser using Canvas with quality and resize controls
Drop in a JPEG, PNG, or WebP image, adjust a quality slider, and get a smaller file back before uploading it to a CMS or attaching it to an email, with an optional max-width/height to downscale at the same time and a before/after preview and byte count. It works by redrawing the image onto a canvas and re-encoding it, so the quality slider actually does something for JPEG and WebP, which are lossy, but has no effect on PNG, since PNG encoding in the browser's Canvas API is lossless regardless of the setting. Smaller output isn't guaranteed: an already-compressed image or a simple, low-color PNG may not shrink at all, and could occasionally come back slightly larger. For genuinely aggressive PNG compression, a dedicated tool like pngquant or oxipng will outperform what a browser canvas can do.
How to use Image Compressor
- 1.Drop in a JPEG, PNG, or WebP image and adjust the quality slider to shrink file size before uploading to a CMS or embedding in an email.
- 2.Set a max width/height to downscale an oversized photo alongside compression for an even smaller result.
- 3.Compare the before/after preview and file size to find the best quality tradeoff for your use case.
Frequently asked questions
Use via API, SDK, or MCP
Installpip install utilix-sdkUsage# Image processing runs in the browser only
# For server-side use Pillow:
# pip install Pillow
from PIL import Image
img = Image.open('input.jpg')
img.save('output.jpg', 'JPEG', quality=80)Runs locally · no API key · no rate limits · Python SDK docs →