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, costs bytes: by Apple's numbers, HEIC packs a photo up to twice as tightly as JPEG. WebP is the format that fits a website: displayed by browsers that add up to about 97% of global usage, and lighter than the JPG you would otherwise publish.
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; the photo itself never goes anywhere.
Below: how a WebP compares with the HEIC and with the JPG you would otherwise publish, what Shopify and WordPress do with 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. Max width (px) sits in the same panel: type the width the page will display and the WebP comes out already reduced.
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. Compare puts the WebP next to the copy the decoder extracted from the .heic, at high quality, because the browser cannot display the original file. Download one at a time or everything as a .zip.
Why the WebP is not smaller than the HEIC — and is still the right call
HEIC stores the picture with HEVC; lossy WebP is built on the VP8 video codec. Both beat JPEG, by different margins: Apple told developers it sees an average of 2x compression over JPEG at the same visual quality, and MDN puts lossy WebP at 25–35% smaller than a JPEG of similar quality. Can I use sums it up by saying HEIC generally compresses better than WebP. Counted in bytes, do not expect the WebP to undercut the file you started with.
Counted in visitors, the picture flips. A .heic on a web page renders only in Safari 17 or newer, under 15% of global usage; WebP displays from Chrome 32, Edge 18, Firefox 65 and Safari 14, about 97%. The fair comparison is with the JPG most people would upload instead, where WebP saves a quarter to a third for the same look. For browser versions and sources, see what HEIC is.
| Format | Size against JPEG, as documented | Displays in browsers |
|---|---|---|
| HEIC (original) | About half, on average (Apple) | Safari 17+ only, under 15% of usage |
| WebP, lossy | 25–35% smaller on average (MDN) | About 97% of usage |
| JPG | The baseline | Every version of the main browsers (MDN) |
| PNG | Lossless, far larger for a photo | Every version of the main browsers (MDN) |
What Shopify and WordPress do with each format
Shopify's help center lists HEIC and WebP among the formats it accepts, and says images are delivered as WebP or AVIF when the customer's browser supports them — as long as the upload stays within 20 megapixels and 20 MB. A 12 MP shot passes; 24 MP and 48 MP shots do not. This page keeps dimensions, so send those through Resize image, which can also write WebP.
WordPress is stricter. According to the WordPress core team, version 6.7 converts HEIC uploads to JPEG on the server, and only when the host's Imagick supports HEIC; otherwise it shows a warning asking you to convert the image yourself. Either way the result is a JPEG, not a WebP. WebP uploads have worked since 5.8, on one condition: the server's image library, Imagick or LibGD, has to support WebP, or the upload fails with an error. From there, WordPress scales down any image over its 2,560 px threshold and keeps the original file.
Transparency: WebP can carry it, a camera photo has none
WebP supports an alpha channel. A photo straight from the camera has no transparent areas, 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 displays WebP but, according to MDN's compatibility data, cannot encode one from a canvas, on Mac, iPhone or iPad. There the WebP button sits greyed out, PNG is selected in its place, the slider reads lossless and a brief notice says "Your browser can't export WebP — using PNG." The notice disappears on its own, which is why the format bar deserves a glance before Generate. MDN lists the encoder in Chrome, Edge and Firefox, on desktop and 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. A hero that fills the viewport is where compression shows first, so generate that one at 85–88 and read the size on its card. Thumbnails under 400 px can drop to 75.
Can I upload the .heic straight to Shopify and skip this?
Yes, if it is within Shopify's limits of 20 megapixels and 20 MB: Shopify lists HEIC among its accepted formats and delivers a web format itself. Converting first still matters for photos above 20 megapixels, which need resizing anyway, and when you want to see the file size before it goes live.
WordPress will not take my HEIC. Why?
According to the WordPress core team, HEIC upload needs version 6.7 or later and a server whose Imagick supports HEIC; without that, WordPress shows a warning asking you to convert the image yourself. Uploading the WebP from this page sidesteps the conversion: WordPress has accepted WebP since 5.8, provided the server's image library supports it.
My phone saves .heif rather than .heic. Will it convert?
Yes. Both extensions go to the same decoder. HEIF is the container; in the official media-type registry .heif is the generic extension and .heic marks HEVC-coded images, which is what an iPhone writes. 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?
MDN still recommends one: WebP has broad support in recent browser versions but no deep historical support. Can I use puts the first versions at Chrome 32, Edge 18, Firefox 65 and Safari 14, so the fallback matters if your analytics show anything older. Either way, keep a JPG for what leaves the site.
What comes out of a Live Photo, or of a 48 MP shot?
From a Live Photo, the still: Apple describes it as two paired files, and the QuickTime movie never enters this page, which writes a single-frame WebP. A 48 MP shot converts at full resolution, because a 4:3 frame of that size is about 8,000 px wide and the ceiling is 10,000 px. On a phone, convert those a few at a time.
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,000 px photo shown in an 800 px column carries five times the width and 25 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.