Image Converter
Convert and shrink images to WebP, AVIF, JPG, or PNG, all in your browser. No upload, no server, no quality loss beyond what you ask for.
Compression
Balanced quality and file size
Output format
Best compression for the web — recommended
Keep original dimensions
Drop images here, or click to choose
JPG, PNG, WebP, GIF, HEIC, HEIF, BMP, AVIF — multiple files supported
How it works
Pick (or drop) one or more files. The tool reads them with FileReader, draws each one into an off-screen <canvas>, and uses canvas.toBlob(mime, quality) to produce the converted output. Three quality presets map to 0.95 / 0.85 / 0.65. The resize input scales both dimensions before the canvas is drawn.
Supported inputs: JPG, PNG, WebP, GIF, BMP, AVIF, HEIC, and HEIF. Animated GIFs are flattened to the first frame (canvas can't preserve animation).
Supported outputs: WebP (default), AVIF, JPG, PNG.
HEIC and HEIF need a decoder that browsers other than Safari don't ship. To keep the page light, heic2any is only loaded on demand: the first time you drop a .heic file, it is fetched via dynamic import(). If you never use HEIC, the library never loads.
When to use it
- Shrinking photos before posting them somewhere with a strict size limit.
- Turning an iPhone HEIC into a WebP or JPG that every browser can show.
- Quickly batch-converting a folder of PNGs to WebP without uploading them anywhere.
Everything runs locally in your browser. Nothing leaves the page.