Image Format Converter Tool - Client-Side HEIC WebP AVIF JPG PNG GIF BMP Batch Converter
First Published:
Last Updated:
Convert HEIC, WebP, AVIF, JPG, PNG, GIF, and BMP files entirely in your browser. Batch process up to 100 images at once with per-file or batch-applied output format, quality, resize, and EXIF preservation. Your images never leave your device — HEIC decoding uses heic2any locally, and all encoding runs through the HTML5 Canvas API with zero server communication.
All conversion happens in your browser using client-side JavaScript, the HTML5 Canvas API, and the heic2any library for HEIC decoding. HEIC encoding is not supported (decode only). No images are transmitted to any server. Your files never leave your device.
- This tool is provided "AS IS" without any warranties of any kind.
- The author accepts no responsibility for any data loss or quality degradation.
- Canvas-based encoding may produce slight color or quality variations compared to native image editors.
- EXIF preservation is supported only for JPEG → JPEG conversion. All other paths strip EXIF for privacy.
- AVIF encoding requires browser-level support (Chrome 85+, Firefox 113+); availability is detected automatically.
- Always keep backups of your original images before converting.
- By using this tool, you accept full responsibility for any outcomes.
This tool uses client-side JavaScript for all processing. No data is transmitted to servers, no files are uploaded online, all processing happens locally in your browser. Once loaded, this tool continues to work even without an internet connection. For more details, please refer to our Web Tools Disclaimer.
Batch Settings — Apply to All Images
Features
- 100% Client-Side Processing: Conversion runs entirely in your browser using the HTML5 Canvas API and locally-loaded heic2any. No images are uploaded to any server.
- Seven Input Formats: Decodes HEIC, HEIF, WebP, AVIF, JPEG, PNG, GIF, and BMP. iPhone HEIC photos are supported via the heic2any decoder.
- Four Output Formats: Encode to WebP, JPEG, PNG, or AVIF (when the browser supports AVIF encoding).
- Batch Processing: Convert up to 100 images at once with sequential queue processing for predictable memory usage.
- Per-File or Batch Settings: Set output format, quality, and max width individually for each image, or apply one configuration to all files in a single click.
- Quality Slider (1–100): Fine-grained control for lossy formats (JPEG, WebP, AVIF). PNG remains lossless.
- Smart Resize: Optional max width with multi-step progressive downscaling for higher quality than single-step resize.
- EXIF Preservation: Optional EXIF metadata preservation for JPEG → JPEG conversion. All other paths strip EXIF for privacy.
- Before/After Size Comparison: Each card shows original size, converted size, dimensions, and the percentage change.
- ZIP Download: Download every converted image as a single ZIP archive built locally with JSZip.
- Clipboard Paste: Paste screenshots directly from your clipboard (Ctrl+V / Cmd+V) without saving to disk first.
- Offline Capable: Once loaded, the tool keeps working without an internet connection.
How to Use
- Drop image files onto the drop zone, click to browse, or paste from clipboard (Ctrl+V / Cmd+V).
- For each image, select the output format and adjust the quality slider, max width, or EXIF toggle as needed.
- Or use the "Batch Settings" panel to apply the same format, quality, and width to every image at once with "Apply to All".
- Click "Convert" on a single card or "Convert All" to process the entire queue sequentially.
- Review the per-file size change shown on each card and the total summary at the top of the list.
- Click "Download" on individual cards, or "Download ZIP" to save every converted file as a single archive.
Important Notes
- HEIC encoding is not supported. Browsers and the Canvas API do not expose a HEIC encoder. This tool decodes HEIC input only. Output is limited to WebP, JPEG, PNG, and AVIF.
- AVIF output requires browser support. Per the HTMLCanvasElement.toBlob specification, unsupported MIME types fall back to PNG, which the tool detects and reports as an error. AVIF encoding is available in Chrome 85+ and Firefox 113+.
- EXIF preservation is JPEG → JPEG only. Canvas re-encoding strips all metadata. The tool can copy the original APP1 Exif segment when both input and output are JPEG. WebP, AVIF, PNG, and HEIC paths drop EXIF.
- JPEG output flattens transparency. Transparent pixels are composited over a white background since JPEG has no alpha channel. Use PNG, WebP, or AVIF to preserve transparency.
- Animation is not preserved. Only the first frame of animated GIF/WebP/AVIF input is encoded.
- Batch limit is 100 files / 80 MB per file. The Canvas API holds full-resolution bitmaps in memory; very large queues or oversized HEICs may exceed browser memory on lower-end devices.
- Sequential processing. Files are converted one at a time to keep peak memory bounded. Large batches may take noticeable time.
- TIFF, PSD, and camera RAW formats are intentionally not supported.
- Canvas-based color management may differ slightly from desktop image editors.
Third-Party Libraries:
- heic2any (v0.0.4) — License: MIT (Alex Corvi) — https://github.com/alexcorvi/heic2any
- JSZip (v3.10.1) — License: MIT or GPLv3 dual (Stuart Knightley) — https://github.com/Stuk/jszip
References:
Tech Blog with curated related content
Web Tools Collection