HEIC camera roll to JPG
The everyday case: Apple-format photos converted for universal compatibility.
Input
24 .HEIC photos · Target: JPG · Quality 90%Output
24 JPG files with the original names, downloadable together as converted-images.zipConvert HEIC, HEIF, TIFF, and other images to JPG, PNG, WebP, or AVIF in your browser, in bulk, with per-file format and quality control.
Content last reviewed
Drop images or click to upload
Convert HEIC, HEIF, TIFF, SVG to JPG, PNG, WEBP, AVIF
Add HEIC, HEIF, TIFF, JPG, PNG, or other images — whole batches at once.
Set the global target format (JPG, PNG, WebP, AVIF) and quality, or override per file.
Files convert automatically — download one directly or the batch as a single ZIP.
The everyday case: Apple-format photos converted for universal compatibility.
Input
24 .HEIC photos · Target: JPG · Quality 90%Output
24 JPG files with the original names, downloadable together as converted-images.zipLossy WebP typically beats JPG at the same visual quality for web delivery.
Input
diagram.png (2.1 MB) · Target: WebP · Quality 85%Output
diagram.webp at a fraction of the size — note transparency is flattened to white in conversionIf you have ever moved photos from an iPhone to a Windows PC, you have met .HEIC — Apple's space-efficient format that half the world's software cannot open. This converter fixes that entirely in your browser: drop in HEIC or HEIF files (or TIFF, or any standard image) and convert them to JPG, PNG, WebP, or AVIF, singly or by the batch.
The hard formats are handled with dedicated decoders that load on demand: HEIC and HEIF are decoded with a WebAssembly-based converter, TIFF with its own parser, and everything else through the browser's native image support — so SVG, BMP, and GIF sources work too. On the output side you choose the format and, for lossy targets (JPG, WebP, AVIF), a quality level from 10–100%. Settings apply globally to the batch, and files convert automatically one at a time, with each row showing its result size as it finishes. Download a single file directly, or the whole set as converted-images.zip with original filenames and new extensions.
Everything happens on your device — personal photos never upload to any server, which is precisely what you want when converting a camera roll. Two format notes worth knowing before you pick a target: converting to JPG flattens transparency (the canvas is white-filled), and animated GIFs convert as their first frame — stills in, stills out.
Drag your files onto the drop zone or click to select them — HEIC, HEIF, TIFF, JPG, PNG, WebP, SVG, BMP, and GIF sources all work, in any mix.
In Global Settings, pick the Target Format: JPG, PNG, WebP, or AVIF. For the lossy formats, set the Quality slider (10–100%, default 90).
Conversion starts automatically, one file at a time — each row reports its converted size when done. Adjust format or quality and the batch re-converts.
Remove any file you don't want with its row's delete button.
Click download: a single converted file saves directly with its new extension; multiple files arrive as one converted-images.zip.
Apple's formats are decoded in-browser with a WebAssembly converter — no software install, no upload.
TIFF files are parsed with a dedicated decoder, covering scans and archival images browsers cannot open natively.
JPG for compatibility, PNG for lossless, WebP for the modern web, and AVIF where the browser supports encoding it.
A 10–100% slider governs JPG, WebP, and AVIF encoding; PNG is always lossless.
Files convert sequentially as soon as they are added, with progressive per-file results and failure marked per file rather than aborting the batch.
Batches package into converted-images.zip with original names and new extensions.
Convert a camera roll of HEIC files to JPG so they open everywhere.
Produce WebP or AVIF versions of images for faster page loads.
Turn TIFF documents and archival scans into shareable JPG or PNG.
Bring a jumble of formats into one consistent type in a single batch.
Convert photographic PNGs to JPG or WebP at chosen quality — with transparency trade-offs made explicit.
Each file takes the decoding path its format needs: HEIC/HEIF files are converted by a WebAssembly decoder loaded on demand, TIFF files are parsed into raw pixels by a TIFF library, and everything else is decoded by the browser's own image engine. The decoded pixels land on a canvas — white-filled first, so formats without transparency render cleanly — and the canvas is re-encoded to your chosen target via the browser's encoder, with the quality value applied for lossy formats.
The batch runs as a queue: files convert one at a time so the page stays responsive, each row updating as its result lands, and a failed file is marked "Failed" without stopping the rest. Decoded pixels are cached per file, so changing quality re-encodes quickly without re-decoding. AVIF output depends on the browser's encoder support — where the browser cannot encode it, that conversion fails rather than silently substituting another format.
Dedicated decoders for HEIC/HEIF and TIFF; JPG, PNG, WebP, SVG, BMP, and GIF (first frame) via native browser decoding.
JPG, WebP, and AVIF with quality control; PNG lossless. AVIF requires browser encoder support.
Global selector applied to the batch — JPG, PNG, WebP, or AVIF.
10–100% for lossy targets (default 90); hidden for PNG, which is lossless.
Delete individual files from the batch before downloading.
The file could not be decoded (corrupt or unsupported variant) or the target could not be encoded — AVIF output on a browser without an AVIF encoder is the common case. Try a different target format, or a current Chrome-based browser for AVIF.
The conversion canvas is white-filled, so alpha regions flatten to white — visible when converting transparent PNGs to JPG. Where transparency must survive, PNG-to-PNG passes are the safe path.
Usually a photographic image converted to PNG — lossless PNG encodes photos inefficiently. Use JPG or WebP for photographic content and reserve PNG for graphics.
Only the first frame is decoded and converted — the output formats here are stills. Keep the original GIF for animated use.
Conversion goes through a canvas, which flattens transparency against white — transparent sources converted to JPG (or any format, given the white fill) lose their alpha channel, and animated GIFs convert as a single first frame. Metadata such as EXIF is not carried into the output. AVIF encoding depends on the browser and fails where unsupported. Very large batches are bound by device memory, and unusual HEIC variants can fail to decode. The quality setting is global; per-file tuning means converting in separate passes.
All decoding, conversion, and ZIP packaging happen on your device — your photos are never uploaded to a server. The WebAssembly and TIFF decoders are part of the page's own code, fetched like any script; your image data does not travel with them.
Convert HEIC to JPG for maximum compatibility, or WebP when the destination is the web.
Match format to content: JPG/WebP for photos, PNG for graphics and text, never PNG for photographs.
Set quality 85–95% for keepers; lower only when a size limit demands it.
Expect transparency to flatten to white — plan formats accordingly before converting logos.
Keep the originals; conversion to a lossy format is one-way, and HEIC masters stay smallest.
Decide the destination before the format. "Open anywhere" means JPG; "smallest for my website" means WebP (or AVIF where support allows); "perfect edges and losslessness" means PNG. Converting to the wrong target and back again costs quality every lossy pass, so one deliberate conversion beats several corrective ones.
Batch by intent: keep photos and graphics in separate runs so one format-and-quality setting suits everything in the batch. The global settings make homogeneous batches effortless and mixed ones compromised.
And archive the sources. HEIC originals are your smallest high-quality masters; TIFF scans are your archival copies. Convert copies outward for compatibility, but let the originals remain the canonical files you return to.
HEIC/HEIF decoding uses the heic2any WebAssembly library, TIFF uses UTIF (both dynamically imported on first need); other formats decode via the native Image element. Pixels are drawn to a white-filled canvas at source resolution and encoded with canvas.toBlob at quality/100 for lossy targets. The queue processes files sequentially with per-file error isolation and caches decoded canvases so quality changes skip re-decoding. Batch downloads assemble with JSZip client-side; outputs keep the source basename with the new extension.
| Target | Compression | Transparency survives here | Best for |
|---|---|---|---|
| JPG | Lossy | No | Photos, universal compatibility |
| PNG | Lossless | Flattened by the white fill | Graphics, text, screenshots |
| WebP | Lossy | Flattened by the white fill | Modern web delivery |
| AVIF | Lossy | Flattened by the white fill | Smallest files, where supported |
Note the conversion canvas is white-filled, so preserving an alpha channel through this tool is not guaranteed — plan transparent-logo workflows around PNG sources and test the output.
iPhone users whose photos will not open on Windows or older software; web developers producing WebP/AVIF variants; office workers handed TIFF scans; and anyone standardizing a messy folder of mixed formats. For pure size reduction of already-compatible files, the bulk Image Compressor is the simpler tool.
Set the target to JPG and the quality slider high — 95–100% preserves virtually all visible detail. Some loss is inherent to lossy re-encoding, but at high quality it is not something you will see.
No — HEIC decoding, TIFF parsing, and all encoding run in your browser, and the ZIP is built locally too. Your images never leave your device.
Yes — drop in as many files as you like; they convert automatically one at a time with per-file results, and download together as converted-images.zip.
HEIC stores comparable quality at roughly half the file size, which is why Apple devices use it — but support outside the Apple ecosystem is patchy. JPG is larger and universally supported. Converting trades storage efficiency for compatibility.
AVIF output requires the browser itself to support AVIF encoding through the canvas, which not all browsers do. Where it is unsupported the file is marked failed rather than silently switching format — choose WebP as the fallback.
No — conversion goes through a canvas, which carries pixels only. Location, camera, and date metadata are not written into the output; keep originals if the metadata matters.
Not reliably — the conversion canvas is filled white first, so alpha regions flatten. If transparency is essential to the asset, avoid converting it through this tool and keep the original PNG.