Convert HEIC to WebP — keep the compression, gain the compatibility
iPhone HEIC + every browser = WebP. Your iPhone shoots HEIC because it packs stunning quality into tiny files — WebP brings that same efficiency to the web, supported in Chrome, Firefox, Safari, and Edge since 2020. Convert entirely in your browser: no upload, no account, no server.
Convert to WebP →Why convert HEIC to WebP?
Apple's HEIC format is phenomenally efficient — it stores 12MP iPhone photos at around 2.4 MB with no visible quality loss. The catch: HEIC is only natively decoded by Safari and a handful of mobile browsers. Drop a HEIC onto a WordPress media upload, a Squarespace image block, a React or Next.js image component, or most web CMSes and you'll hit an error or see a broken image placeholder. WebP is the open-web answer. Google introduced it in 2010 as a next-generation image format for the web, and by 2020 it had crossed the universal support threshold: Chrome 23+, Firefox 65+, Safari 14+, and Edge 18+ all decode WebP natively. For web developers, bloggers, and content creators who want to publish iPhone photos on a website, WebP is the natural target — it retains most of HEIC's compression efficiency while working everywhere a browser runs. No plugin, no polyfill, no server-side conversion pipeline required.
What you lose and what you gain
Both HEIC and WebP are lossy codecs. Converting from one to the other re-encodes the image, but at high quality settings the additional quality loss is invisible. At WebP quality 90, a conversion from HEIC is visually identical to the source in blind A/B testing — no added blockiness, no colour banding. The honest tradeoff on file size: WebP is slightly larger than HEIC at matched visual quality. A typical 12MP iPhone HEIC at 2.4 MB becomes roughly 2.6 MB as WebP at quality 90. HEIC's underlying codec, HEVC (H.265), is about 10% more efficient than WebP's VP8/VP8L codec for photographic content. If you push WebP quality down to 75, you land around 1.4 MB — smaller than the source HEIC, but with a slight quality trade that is still acceptable at normal screen sizes. What you gain is decisive: every browser on the planet will load your WebP without any special handling. For web publishing, that universal reach is worth far more than HEIC's modest compression edge.
How to convert HEIC to WebP
The entire conversion runs inside your browser using WebAssembly. No server receives your photo. No account is needed. Works offline once the page has loaded once — the WebAssembly modules are cached by the service worker:
- Get the HEIC file onto your computer. On a Mac, use AirDrop, the iCloud Drive desktop app, or connect your iPhone via USB and open Image Capture. On Windows, connect via USB and copy the HEIC files from the DCIM folder in Windows Explorer. Alternatively, email the photo to yourself from the iOS Files app and save the .heic attachment.
- Click "Convert to WebP →" at the top of this page, or drag your HEIC file onto the drop zone on the homepage. Both routes open the same in-browser conversion tool.
- ConvertMyPic decodes the HEIC using libheif (github.com/strukturag/libheif), the open-source HEIC/HEIF decoder compiled to WebAssembly via Emscripten. libheif reads the HEVC-compressed bitstream inside the HEIC container and produces a full-resolution uncompressed RGBA image in memory. Your photo never leaves the device at this step.
- The decoded image is immediately re-encoded to WebP using libwebp (chromium.googlesource.com/webm/libwebp), Google's official WebP encoder compiled to WebAssembly. libwebp applies VP8 intra-frame compression for lossy output, or VP8L for lossless mode. Both the libheif decode and the libwebp encode run inside a dedicated Web Worker, so the browser UI stays fully responsive throughout the conversion.
- Click the download button. The WebP saves to your Downloads folder with the original filename and the .webp extension — photo.heic becomes photo.webp. Your original HEIC file is untouched. To verify that nothing was uploaded, open DevTools → Network while converting: you will see zero outbound requests carrying image data.
File size comparison: HEIC vs WebP at different quality settings
Measurements from a real iPhone 12MP photo (outdoor scene, 4032×3024 pixels). HEIC source is the camera default. WebP outputs were encoded using libwebp.
| Format | Quality | File size | Visual notes |
|---|---|---|---|
| HEIC (source) | Camera default (~q60-equiv) | ~2.4 MB | Original; no visible artifacts at normal viewing size |
| WebP | 90 | ~2.6 MB | Visually identical to HEIC source; slightly larger than HEIC |
| WebP | 75 | ~1.4 MB | Slight softening in fine detail; excellent for web use |
| WebP | 50 | ~580 KB | Noticeable compression; good for thumbnails and previews |
| WebP lossless | Lossless | ~5.8 MB | Pixel-perfect from HEIC decode; not recommended for photos |
When to convert, and when to keep HEIC or use AVIF
Convert HEIC to WebP when you are publishing iPhone photos on a website and need a format that works in every browser without configuration. WebP is supported in all modern browsers since 2020 — Chrome 23+, Firefox 65+, Safari 14+, Edge 18+ — and is the lowest-friction path from iPhone camera to web page. Convert to WebP when you are working with a CMS, image CDN, or frontend image component (Next.js Image, Nuxt Image, Astro assets) that lists WebP as a first-class accepted format. Convert when encode speed matters: WebP encodes dramatically faster than AVIF, which is important for batch workflows or server-side on-the-fly conversion. Stay on HEIC when your audience is Apple-only — iPhone to Mac AirDrop, Apple Photos library archiving, iMessage. HEIC is slightly more efficient than WebP and natively lossless within the Apple ecosystem, so there is no reason to convert if you never leave it. Consider AVIF when the extra ~20% size savings over WebP genuinely matter — for a high-traffic image CDN serving millions of page views, that difference adds up. AVIF is now supported in all major browsers as of 2022 (Chrome 85+, Firefox 93+, Safari 16+, Edge 121+). The tradeoff is encode time: AVIF encoding is 5–20x slower than WebP at comparable quality settings, making it unsuitable for client-side or real-time workflows but worth the wait for pre-processed asset pipelines.
Under the hood: which codecs are used
HEIC decoding uses libheif, the open-source HEIC and HEIF library maintained by Struktur AG at github.com/strukturag/libheif. libheif implements the ISO 23008-12 HEIF container specification and uses an underlying HEVC (H.265) codec to decompress the image data. The version compiled here runs entirely in WebAssembly via libheif-js — no native binary is installed on your machine, and the decoder executes inside a sandboxed Web Worker in the browser. WebP encoding uses libwebp, Google's official open-source WebP codec at chromium.googlesource.com/webm/libwebp. libwebp implements both the lossy VP8 encoder and the lossless VP8L encoder. For lossy output (the default for photographs), the encoder applies block-based intra-frame prediction, DCT, and entropy coding — the same techniques used in VP8 video, optimised for still images. For lossless output, VP8L uses a predictive coding scheme with colour transforms and backwards reference encoding. Both codecs are compiled to WebAssembly and run inside a dedicated Web Worker thread. The decode → encode pipeline executes entirely locally. No network request carries image data at any point — you can verify this by opening DevTools → Network during a conversion.
FAQ
Why WebP and not AVIF?
Encode speed is the primary reason. AVIF encoding is 5–20x slower than WebP encoding at comparable quality settings — a 12MP iPhone photo that takes WebP a fraction of a second can take AVIF several seconds or more. For a client-side tool running in your browser, that delay is significant. WebP also has slightly wider browser support: Chrome 23+ vs Chrome 85+ for AVIF, and Safari 14+ vs Safari 16+ for AVIF. For most web publishing workflows, WebP quality at q75–q90 is visually excellent and the encode is instant. Use AVIF when you have an offline pipeline, need every last kilobyte of compression savings, and your audience is on modern browsers from 2022 or later.
Does WebP support transparency?
Yes, WebP supports a full alpha channel in both lossy and lossless modes. However, typical iPhone HEIC photos do not have transparency — the camera writes opaque RGB images. If you have a HEIC that was programmatically created with an alpha channel (for example, from a design app or image processing API), libheif decodes the alpha and libwebp writes it into the output as a standard WebP-with-alpha file. For standard iPhone photos, the output is opaque RGB WebP, which is slightly smaller than RGBA WebP.
Will my GPS and EXIF data survive the conversion?
Yes, by default. The converter copies the full EXIF block — GPS coordinates, capture timestamp, camera model, aperture, shutter speed, and ISO — from the HEIC into the output WebP using the standard EXIF chunk that WebP supports. If you want to strip location metadata before sharing a photo taken at home or a sensitive location, the advanced options on /convert include an EXIF-strip toggle. Stripping EXIF also reduces the output file size slightly.
Does this work for Live Photos?
Only the still image component converts. A Live Photo is stored as two files: a still HEIC and a short MOV video clip that plays when you press and hold in the Photos app. When you export the HEIC from a Live Photo and convert it here, you get a static WebP of the still frame. The motion video component cannot be embedded in a WebP — WebP is a single-frame format (WebP Animation is a separate spec not produced here). Your original Live Photo remains in the Photos library untouched with both components intact.
Browser support for WebP in 2026?
Essentially universal. WebP is supported in Chrome 23+ (released 2012), Firefox 65+ (released January 2019), Safari 14+ (released September 2020), Edge 18+ (released 2018), and Opera 11.10+ (released 2011). The only meaningful gap closed with Safari 14 in 2020 — before that, WebP on iPhone and Mac required a polyfill or server-side fallback. In 2026, you can safely deliver WebP to any browser without a JPG fallback and expect correct rendering on virtually every device in active use.
How much smaller will my WebP be compared to the HEIC?
Honestly, WebP at matched quality is slightly larger than HEIC, not smaller. HEIC's underlying codec (HEVC/H.265) is approximately 10% more efficient than WebP's VP8 codec for photographic content. A 12MP iPhone HEIC at 2.4 MB typically becomes about 2.6 MB as WebP at quality 90. If you drop to WebP quality 75, you get roughly 1.4 MB — smaller than the source HEIC, but with a modest quality trade. The reason to convert is browser compatibility, not compression efficiency. HEIC is the more efficient codec; WebP is the more compatible one.
Can I keep transparency for HEICs that have an alpha channel?
Yes. If your HEIC contains an alpha channel — uncommon for camera photos, but possible for programmatically generated HEIC files — libheif decodes the alpha and libwebp preserves it in the output. For lossy WebP, the alpha channel is encoded separately using a lossless method, so transparency edges are always crisp regardless of the quality setting for the RGB data. For lossless WebP, the full RGBA data is stored exactly. Standard iPhone camera photos are opaque RGB and produce smaller output without any alpha overhead.
Do my photos get uploaded to a server?
No. The entire conversion — HEIC decode and WebP encode — runs inside your browser using WebAssembly. Open your browser's DevTools (F12 on Windows/Linux, Cmd+Option+I on Mac), click the Network tab, and clear existing entries. Then drop a HEIC into the converter and watch the requests. You will see the WebAssembly modules and page assets load from the CDN on the first visit — but during the actual decode and encode steps, zero bytes of image data are sent outbound. ConvertMyPic does not operate a server. Your HEIC photo never leaves your device.
Why is the WebP slightly larger than the HEIC?
HEVC (H.265), the codec inside HEIC, is a more efficient compression algorithm than VP8, the codec inside lossy WebP. HEVC uses more sophisticated inter-block prediction, larger transform sizes, and more advanced entropy coding — techniques developed in the 2010s for video compression that happen to be very effective for still images too. VP8 was designed in 2008 and, while excellent for a web format, falls about 10% short of HEVC's compression ratio on photographic content. At quality 90, the gap is small and both outputs are visually indistinguishable from the source. If you need smaller files than HEIC, AVIF is the format to look at — AVIF's AV1 codec matches or slightly exceeds HEVC efficiency.
Can I batch-convert multiple HEIC files to WebP?
The current flow converts one file at a time. For a small set of photos, open /convert in multiple browser tabs and process them in parallel — each tab runs an independent WebAssembly instance with no interference between them. For large batches on a Mac, the cwebp command-line tool from Google (available via Homebrew: brew install webp) can convert a folder of images: for f in *.png; do cwebp -q 90 "$f" -o "${f%.png}.webp"; done. True drag-and-drop batch conversion with a progress queue and bulk download is on the ConvertMyPic roadmap.