Convert HEIC to WebP
Turn iPhone .heic photos into WebP files your website, Shopify store or WordPress media library can actually use — in batch, on your own device.
Your images
Settings
Generated images
- Nothing uploaded
- Free, no sign-up
- Strips EXIF
- Batch files
The product shots are done — forty of them, straight off an iPhone — and every file is .heic. Chrome, Edge and Firefox will not display one, your theme's uploader may reject the extension before it even looks inside, and the obvious fix, converting to JPG, roughly doubles the weight of every image on the page. WebP is the format that fits a website: rendered by every current browser, with files that land close to the HEIC you started with.
This page swaps the format on your own machine. Drop the photos in and each one comes back as a .webp with the same base name. The only thing fetched is a decoder of about 1 MB the first time a HEIC is opened, and it stays cached after that; the photo itself never goes anywhere.
Below: what a WebP weighs next to the HEIC and next to the JPG you would otherwise publish, how Shopify and WordPress treat each format on upload, where transparency stands, and the one browser that can display WebP but not write it.
How it works
WebP is already selected. Quality is the only setting that changes the result — and on Safari, check the format bar before you start.
Drop in the whole shoot
Bring over the same .heic files the theme uploader just refused — the entire product set at once, straight from the export folder. JPG and PNG can ride along in the same batch; everything comes out as .webp under its original base name, so the file names in your product CSV or theme still match.
Set the quality
Quality starts at 82, which holds up on a product grid and on lifestyle banners. A hero that fills the viewport deserves 85–88; thumbnails under 400 px wide can take 75. Under 70, skies and skin tones begin to band. There is no width field on this page — it changes the format, not the pixel count.
Generate and read each card
Press Generate images. Every card lists HEIC size → WebP size with the percentage change, the pixel dimensions and an EXIF stripped tag. The Compare button is there too, but on this page both halves of it show the WebP — no browser can draw the raw .heic for a Before — so the size figures are your verdict. Download one at a time or everything as a .zip.
Why the WebP weighs about what the HEIC did — and is still the right call
HEIC stores the picture with HEVC, a video-grade codec that beats JPEG by 40–50% at the same quality; WebP uses the older VP8 and beats JPEG by 25–35%. Matched for quality, then, a WebP comes out roughly 10–40% larger than the HEIC. In practice the slider's default of 82 sits below the quality an iPhone encodes at, so the WebP gives up a little detail the HEIC kept and the two files usually land in the same 1.5–3.5 MB band. Counted in bytes, the conversion is close to a wash.
Counted in visitors, it is not. A .heic on a web page renders only in Safari 17 or newer, roughly one browser in five; WebP displays in Chrome, Firefox, Edge and Safari (since 2020), about 97% of traffic. The fair comparison is with the JPG most people would upload instead, where WebP saves a quarter to a third for the same look.
| Format | Typical 12 MP iPhone shot | Displays in browsers |
|---|---|---|
| HEIC (original) | 1.5–3 MB | Safari 17+ only |
| WebP, quality 82 | 1.5–3.5 MB | All current browsers (~97%) |
| JPG, quality 82 | 3–5 MB | Everything, plus email and older software |
| PNG | 12–20 MB | All, but 5–10× the size of the WebP |
What Shopify and WordPress do with each format
Shopify accepts .heic uploads and serves images from its CDN in a modern format such as WebP — as long as the file is under 20 MB and 4,472 × 4,472 px (20 megapixels). A 12 MP shot at 4,032 × 3,024 passes; a 48 MP shot at 8,064 × 6,048 does not. This page keeps dimensions, so send those through Resize image, which can also write WebP.
WordPress is stricter. HEIC upload only works from 6.7 onward, and only when the host's ImageMagick was built with HEIC support; otherwise you get the "not permitted for security reasons" error. Even then, WordPress converts to JPEG, not WebP. WordPress has accepted .webp since 5.8, with one condition on the host's side: the PHP image library that makes the thumbnails, GD or Imagick, must have been compiled with WebP, or the upload stops at "cannot be processed". Most current hosts pass that test; from there, only a side over 2,560 px gets scaled.
Transparency: WebP can carry it, a camera HEIC has none
WebP supports an alpha channel. A HEIC from the iPhone camera is fully opaque, so nothing is lost here. The exception is a HEIC exported from an editing app with a transparent background: the decoder hands off an opaque JPEG before the WebP is written, so that area comes out flattened. For a transparent WebP, export PNG from the app and use PNG to WebP.
Two lossy passes, and the browser that cannot write WebP
Between .heic and .webp sit two lossy encodes — the decoder's intermediate JPEG at quality 95, then the canvas writing WebP at the slider value — and the HEIC to PNG page walks through that chain step by step. Start from the phone's own .heic rather than a JPG somebody already exported, and treat the WebP as final: opening and re-saving it adds a third pass.
Safari, and every browser on an iPhone or iPad, displays WebP but cannot encode one. There the WebP button sits greyed out, PNG is selected in its place and the slider reads lossless. Nothing announces the switch: on a Mac, hovering the disabled button shows "WebP export not supported in this browser", and on a phone there is no hover at all — which is why the format bar deserves a glance before Generate. The encoder lives in desktop Chrome, Edge and Firefox and in Chrome on Android; open the page there for real .webp output.
Frequently asked questions
Which quality for a full-width hero image, and which for the product grid?
Leave 82 for grid tiles and lifestyle shots; at the sizes they are displayed, the WebP is indistinguishable from the HEIC. A hero that fills the viewport at 1,600–2,000 px is where compression shows first, so generate that one at 85–88 — roughly a fifth more bytes on a single file. Thumbnails under 400 px can drop to 75 without anyone noticing.
Can I upload the .heic straight to Shopify and skip this?
Yes, if it is under 20 MB and 4,472 px on each side; Shopify then serves a web format itself. Converting first still matters for 48 MP shots, for theme sections and apps that only take JPG, PNG or WebP, and when you want to see the file size before it goes live.
Why does WordPress say my HEIC file type is not permitted?
HEIC upload needs WordPress 6.7 or later plus an ImageMagick build with HEIC support, which many shared hosts lack. Uploading the WebP from this page sidesteps that entirely: WordPress has accepted WebP since 5.8.
My Samsung saves .heif rather than .heic. Will it convert?
Yes. Both extensions go to the same decoder: HEIF is the container, and .heic is simply the name Apple uses when the picture inside is HEVC-coded, which is what a Galaxy camera with HEIF switched on writes as well. If a file uses an encoding variant the decoder cannot read, its own card shows an error and the rest of the batch carries on.
Do I still need a JPG fallback next to the WebP?
Not for the browsers people actually use: Chrome, Firefox, Edge and Safari have all displayed WebP since 2020, so a plain img tag pointing at the .webp is fine. If your analytics still show Internet Explorer or Safari 13 and older, keep the picture element with a JPG source a while longer. Either way, keep a JPG for what leaves the site — email newsletters, marketplace feeds that reject WebP, older desktop software.
What comes out of a Live Photo, or of a 48 MP shot?
A Live Photo's .heic holds only the still frame; the motion lives in a separate .mov that never enters the page, and the result is a single-frame WebP — this page never writes animation. A 48 MP shot at 8,064 × 6,048 converts at full resolution, since it sits under the 10,000 px ceiling: expect an 8–12 MB WebP at 82, a few seconds of encoding per photo, and on a phone, batches of five to ten.
Can this page also shrink the photos to the width my theme uses?
No — it changes format and quality only. Resize image takes a max width in pixels and can output WebP in the same pass. A 4,032 px iPhone photo shown in an 800 px column carries five times the pixels it needs.
The product photos were shot in my home. Does the WebP give the address away?
No. EXIF, including GPS coordinates, timestamp and device model, is stripped from every file, and each card says so. The photos never leave your device either; the only download is the decoder.