keptlocal
Files never leave your browser

Convert Image

Drop one or more images and choose an output format. HEIC files from iPhone and iPad are fully supported. Nothing is uploaded to a server.

Drop images here, or

HEIC, JPG, PNG, WebP, AVIF · Multiple files supported · Files never leave your browser.

Upload images to get started.

How to convert an image

  1. Drop your images into the zone above, or click to browse. HEIC, JPG, PNG, WebP, and AVIF files are all accepted — you can select multiple at once.
  2. Choose an output format: JPG for universal compatibility, PNG for lossless quality or transparency support, or WebP for the best size-to-quality ratio in web contexts.
  3. For JPG output, adjust the quality slider if needed. 92% (the default) is visually lossless for most images.
  4. Click Convert. Each image is processed in turn. Click Save next to any image to download it, or use Download ZIP to grab all converted files at once.

HEIC decoding uses the heic2any library. All other format conversion uses the browser's built-in Canvas API. No file is ever uploaded to a server.

HEIC to JPG — the iPhone photo problem

Since iOS 11, iPhones and iPads save photos in HEIC format (High Efficiency Image Container) by default. HEIC compresses photos to roughly half the size of an equivalent JPEG at the same perceptible quality — a significant win for storage on-device.

The problem is compatibility. HEIC is not a web standard. Windows requires an optional codec to open HEIC files natively. Most Android devices cannot open them at all. Upload a HEIC photo to a standard website form and it will often be rejected. Send one to a colleague on a Windows laptop and they may see a generic icon rather than the photo.

Converting to JPG solves this immediately. Every device, browser, and application since the early 2000s can open a JPEG. The file will be larger — roughly double the HEIC file size at comparable quality — but the compatibility is universal.

When to use each output format

JPG is the right choice for photographs in almost every context: sharing with family and colleagues, uploading to social media, attaching to emails, or submitting to any form that accepts images. It does not support transparency. It uses lossy compression, so repeated save-edit-save cycles degrade quality — but converting once from HEIC to JPG introduces no perceptible loss at 92% quality.

PNG is the right choice when you need transparency — logos on a transparent background, screenshots with no background, or interface elements. PNG is lossless, meaning the pixel values are stored exactly, which makes it ideal for graphics with sharp edges, text, and solid colours. Photographs stored as PNG are visually perfect but significantly larger than an equivalent JPG.

WebP is the modern web format. Chrome, Firefox, Safari, and Edge all support it. For photographs, WebP achieves similar visual quality to JPG at 25–35% smaller file sizes. For graphics with transparency, WebP outperforms PNG in file size while retaining alpha channel support. The caveat: older software (Photoshop versions before 2020, some email clients, Windows Photo Viewer) may not open WebP files.

How it works under the hood

HEIC/HEIF decoding: HEIC uses the HEVC (H.265) video codec to compress still images. Browsers do not natively decode HEIC in the Canvas API because HEVC licensing fees historically prevented inclusion in open-source software. The heic2any library implements a pure JavaScript HEIC decoder, which converts the file to a JPEG blob in memory — no server required.

Web format conversion (JPG, PNG, WebP, AVIF): the browser's Canvas API is used. The source image is decoded into an <img> element (which browsers can decode natively), drawn to an off-screen <canvas> at the original dimensions, and then re-encoded using canvas.toBlob(mimeType, quality). The resulting blob is downloaded directly to your device.

AVIF input: Chrome 85+ and Firefox 93+ can decode AVIF natively via the <img> element, so the canvas approach works. Safari added AVIF support in version 16. For older browsers, AVIF input may fail — the tool reports an error per file in that case.

Limits and what to expect

  • Animated WebP and GIF: only the first frame is converted. For animated image conversion, use a dedicated tool.
  • EXIF metadata: the canvas encode/decode pipeline does not preserve EXIF data (GPS location, camera model, capture date). If EXIF preservation is important, use a desktop tool that supports EXIF-aware conversion.
  • Transparency to JPG: JPG does not support transparent pixels. Any transparent areas in a PNG or WebP file will be replaced with a white background when converting to JPG.
  • Very large HEIC files: HEIC decoding in JavaScript is computationally intensive. A 12 MP iPhone photo typically takes 1–3 seconds per file. Batches of 20+ photos may take a minute or more.
  • AVIF output: canvas.toBlob('image/avif') is supported in Chrome 94+ and Firefox 93+. Safari does not yet support AVIF encoding via canvas. If your browser does not support AVIF output, use WebP instead.

Privacy: what happens to your images

Your images are loaded into browser memory, decoded and re-encoded locally using JavaScript libraries and the Canvas API, and downloaded directly to your device. No data is transmitted to any server — not the image bytes, not the file names, not any metadata.

HEIC photos from phones frequently contain GPS coordinates embedded in EXIF data. Converting locally means that location data never leaves your device in the process. (Note: the output file from this tool will not contain GPS EXIF — the canvas pipeline strips it — which may itself be desirable before sharing photos externally.)

Frequently asked questions

Are my images uploaded to a server?
No. All conversion runs in your browser. HEIC decoding uses the heic2any library and format conversion uses the Canvas API — neither sends your files anywhere. Open DevTools → Network while converting to confirm zero upload requests.
What formats can I convert from and to?
Supported input formats: HEIC, HEIF (iPhone/iPad), JPG, PNG, WebP, and AVIF. Supported output formats: JPG, PNG, and WebP. AVIF output requires browser support for the AVIF encoder — available in Chrome 85+ and Firefox 93+.
Why do I need to convert HEIC photos?
iPhones and iPads capture photos in HEIC (High Efficiency Image Container) format by default from iOS 11 onwards. HEIC files are not universally supported — Windows, older Android devices, most websites, and many apps cannot open them. Converting to JPG makes photos universally compatible.
Which output format should I choose?
JPG is the universal choice — every device, app, and website supports it. PNG is best when you need a transparent background (logos, screenshots). WebP offers the best compression-to-quality ratio for web use and is supported in all modern browsers, but older software may not open it.
Can I convert multiple HEIC photos at once?
Yes — select or drop several files at once. Each is converted individually and shown in the list. When more than one conversion succeeds, a Download ZIP button appears so you can grab all the files in one click.
Will the image quality change when converting?
JPG output uses 92% quality by default, which is visually lossless for most content. Adjust the quality slider to trade between file size and visual fidelity. PNG output is lossless. WebP output uses 92% quality.
Does converting HEIC to JPG preserve metadata (location, date)?
EXIF metadata (camera settings, date) may not be fully preserved during HEIC decoding in the browser — this is a limitation of the heic2any library. If EXIF preservation is critical, use a desktop tool like EXIF-aware converters.