Runs locally in your browser
Image Compressor
Shrink JPEG, PNG, or WebP files with a quality slider. Compression uses canvas in your browser so the original never uploads.
Drop a photo when the file is too heavy for email or a CMS. This compressor keeps the pixel box and writes a smaller JPEG, it is not a format converter.
Canvas encoding runs on this device. The source file never leaves the tab to be crushed on a server.
How to use
- Choose a JPEG, PNG, or WebP file.
- Set quality, then process.
- Compare original and compressed sizes and download.
How it works
The image is drawn to a canvas at its current width and height, then encoded as JPEG at the quality you pick. Lower quality usually means fewer bytes.
PNG input can lose lossless transparency because the output is JPEG. Use a dedicated converter if you need WebP instead of a smaller JPG.
Examples
Email photo
A 4 MB phone JPEG at quality 0.7 often lands under a megabyte while remaining sharp enough for a message.
CMS cap
A PNG screenshot recompressed as JPEG can pass a 500 KB upload limit when lossless PNG will not.
FAQ
Does this change width and height?
No. Dimensions stay the same. Use the resizer if you need fewer pixels.
Which output format is used?
JPEG. That is why PNG transparency may vanish.
Is EXIF stripped?
Canvas re-encode typically drops most metadata. Do not rely on GPS or camera tags surviving.
Does the photo upload?
No. Compression is client-side in this tab.
Related tools
- Image ResizerResize images to exact pixel width and height, with an option to keep the aspect ratio. Processing stays on this device.
- JPG to WebPConvert JPEG photos to WebP in the browser to cut page weight. Adjust quality, then download the .webp without uploading.
- PNG to WebPConvert PNG graphics and screenshots to WebP for smaller assets. The file is encoded in your browser with a quality control.
- WebP to JPGConvert a WebP image to JPEG when a tool, email client, or printer still needs JPG. Encoding happens locally on this device.
- Base64 EncoderEncode UTF-8 text to Base64 for data URIs, headers, and embeds. Encoding uses the Web APIs in this tab, with no server hop.