Convert for compatibility; keep HEIC as the original
HEIC is fine for storing iPhone photos, but it’s still a bad default for publishing images on the open web. Space saving format, good visual quality and plays nice inside modern Apple software. The problem comes when that same file has to pass through a browser, upload form, CMS, email client, Windows device, Android device, image CDN, or social scheduling tool.
If the site is public, transform HEIC before publishing. Use WebP or AVIF for web delivery, keep JPEG as the fallback for compatibility, and use PNG only when a form asks for it or when you need a lossless copy for editing. Keep the space-saving iPhone master if you want the original HEIC
Not because HEIC is a terrible image format. Website images need broad decoder support, predictable MIME handling, thumbnail generation, fallback behavior, and simple server processing. But HEIC is still weak on several of those operational points.
HEIF and HEIC are not exactly the same thing
The first detail most articles skip: HEIF and HEIC are related, but not identical.
HEIF means High Efficiency Image File Format. It is a container. A container can hold image data, thumbnails, sequences, metadata, depth information, and other supporting data. HEIC is the common iPhone photo flavor: a HEIF file whose image data is encoded with HEVC, also known as H.265.
That distinction matters in real workflows. A system may understand the HEIF container but still need the HEVC decoder to read a typical .heic photo. Microsoft support guidance reflects this split: Windows users working with Apple-style HEIF/HEVC media may need both HEIF and HEVC components before Photos can use the files.
In plain English:
| Term | What it means | Why it matters |
|---|---|---|
| HEIF | The container format | Can hold different image encodings and metadata |
| HEIC | HEIF using HEVC image compression | The common iPhone photo file people upload |
| HEVC | The compression technology inside many HEIC files | Often the licensing/decoder problem |
| JPG/JPEG | Older, widely supported photo format | Larger, but accepted almost everywhere |
| WebP/AVIF | Modern web delivery formats | Better fit for public websites |
The web compatibility issue is usually not "the pixels are bad." The problem is the receiving software does not have the correct path to the container and codec.
Why iPhones use HEIC
Apple introduced HEIF and HEVC support with iOS 11 and macOS High Sierra. Apple Support describes the practical reason clearly: HEIF and HEVC offer better compression than JPEG and H.264 while preserving similar visual quality, so they use less storage on the device and in iCloud Photos.
That’s a fair compromise for a phone camera. You can take thousands of photos and keep them for years. You mostly view them in Photos, Messages, AirDrop, iCloud, Preview or other Apple-aware apps. In that world, HEIC is almost invisible. The photo is normal and takes up less storage.
Apple also offers users a compatibility switch. Settings > Camera > Formats > Most Compatible on iPhone or iPad uses JPEG instead of HEIF for new photos. High Efficiency switches to HEIF/HEVC. Apple also notes that when you share things using methods such as AirDrop, Messages or email, a device may automatically send a more compatible version if the person you’re sending to doesn’t support the newer formats.
The word "may" is doing work there. Automatic conversion helps, but it does not cover every web upload path. If you choose a file from Files, export originals from iCloud, drag a raw .heic into a CMS, or upload from a desktop folder, the website may receive the original HEIC file.
Browser support is the real web problem
Websites do not just need "some device somewhere" to open the image. They need a visitor's browser to decode the image in an <img> tag, CSS background, social preview, CMS preview, search preview, image CDN, and sometimes an email client or app webview.
MDN's image format guide lists the common web image formats: AVIF, GIF, JPEG, PNG, SVG, and WebP. HEIC is not part of that common cross-browser set. Safari 17 added HEIC support in Safari, Safari View Controller, and WKWebView, which is useful for Apple-first importing and editing workflows. But a Safari feature does not automatically make a format safe for Chrome, Firefox, Edge, Android, Windows, embedded browsers, or all app webviews.
That is the subtle point. "Safari supports HEIC" and "HEIC is safe for the public web" are different claims.
| Browser/workflow | Practical HEIC status for public delivery |
|---|---|
| Safari 17+ on Apple platforms | Can handle HEIC; useful for Apple-device workflows |
| Chrome / Edge / Firefox public website delivery | Do not assume HEIC will render |
| Android in-app browsers | Do not assume HEIC will render |
| CMS media library previews | Depends on the browser and server image stack |
| Image CDN resizing | Depends on decoder support in the processing backend |
| Email clients | Treat HEIC as risky unless specifically tested |
Use browser and tool-expected formats for public image URLs. Less interesting than HEIC are the WebP, AVIF and JPEG fallbacks, but they do stop broken-image icons appearing on the page.
Safari 17 support helps, but it does not remove the need for fallbacks
WebKit announced HEIC support for Safari 17, Safari View Controller, and WKWebView. Apple Developer's WWDC23 media-format session also framed HEIC as useful for handling photos uploaded from iPhone without conversion, especially in Apple web and app-view contexts.
That’s a step forward. "It means a web app used by people on Apple devices can import, preview and edit iPhone photos more directly than before.
But Apple also said HEIC is not widely supported on other platforms and should probably be used as an alternative format. The same session recommends using the <picture> element so browsers can choose a format they support.
For a controlled Apple-heavy app, you might test a pattern like this:
<picture>
<source srcset="/photos/hero.heic" type="image/heic" />
<source srcset="/photos/hero.avif" type="image/avif" />
<source srcset="/photos/hero.webp" type="image/webp" />
<img src="/photos/hero.jpg" width="1200" height="800" alt="Product photo" />
</picture>
For most public sites I would invert the mental model: start with AVIF or WebP, retain JPEG as the fallback, and keep HEIC only as the original upload or internal master. Public pages should not rely on HEIC being available.
Where HEIC breaks in real web workflows
HEIC failures rarely look dramatic. They usually look boring and confusing:
- The upload button accepts the file, but the preview stays blank.
- The server rejects it because
image/heicis not in the allowed MIME list. - The browser reports an empty or unexpected
file.type. - The CMS stores the original but cannot create thumbnails.
- The image optimization plugin skips it.
- The CDN cannot resize it.
- The social share preview has no image.
- The recipient on Windows sees an attachment they cannot open.
- The help desk gets a "your photo is broken" ticket with no obvious cause.
This is why HEIC seems unreliable, even if it works on your own iPhone. Web publishing is a chain of . The file must go through file picker detection, client preview, upload validation, server decoding, derivative generation, CDN delivery, browser rendering, and sometimes search/social previews. A single unbacked link is enough.
Windows support is not the same as browser support
In some cases, Windows can handle HEIF/HEVC files, particularly if you have the right Microsoft Store extensions or app support. Microsoft says Photos may need HEIF and HEVC extensions to use those files. Microsoft also points out that OneDrive can preview HEIF and HEVC files on the web, but local files on Windows may still require a codec to open.
That does not mean a Windows visitor's browser can render your .heic image URL. OS preview support, OneDrive preview support, Photos app support, and browser image decoding are separate things.
This is a common developer trap:
- A Windows machine opens the HEIC file in Photos after extensions are installed.
- The developer assumes the file is "supported."
- The same file fails as a normal website image for another user.
For web delivery, test in the target browsers, not just in the operating system preview app.
Why upload forms reject HEIC
Many upload forms were written when the practical file list was JPEG, PNG and perhaps WebP. Their checks often resemble this:
- Extension allowlist:
.jpg,.jpeg,.png,.webp. - MIME allowlist:
image/jpeg,image/png,image/webp. - Server image library: expects JPEG/PNG/WebP/AVIF decoders.
- Thumbnail job: calls a library that was not built with HEIC support.
- File-size rule: assumes the converted output will be JPEG.
HEIC can fail any of those checks. Even if the frontend accepts image/*, the server may reject it. Even if the server stores it, the thumbnail generator may fail. Even if the thumbnail generator works, the final public URL may not render in all browsers.
If you run a site that accepts user-uploaded photos, the safest workflow is:
- Accept HEIC as an input format if your audience uploads from iPhone.
- Decode it on the client or server.
- Store the original if you need it.
- Generate public delivery files as WebP/AVIF plus JPEG fallback.
- Show users a clear message when conversion fails.
Do not serve the raw HEIC as the only public image.
What to convert HEIC into
The best output depends on where the photo is going.
| Destination | Best output | Why |
|---|---|---|
| Email attachment | JPG | Safest for mixed recipients |
| Government or job form | JPG unless the form says otherwise | Most upload validators expect it |
| Form that asks for PNG | PNG | Follow the form requirement |
| Public website photo | WebP with JPEG fallback | Smaller than JPEG with broad browser support |
| High-traffic website hero | AVIF with WebP/JPEG fallback | Strong compression when your pipeline supports it |
| Screenshot-like HEIC | PNG or lossless WebP | Keeps text and flat edges cleaner |
| Archive inside Apple Photos | Keep HEIC | Saves storage and preserves the original |
| Editing in older software | JPG or PNG | Fewer import surprises |
JPG is the compatibility patch. WebP is the practical fix for web delivery. AVIF is great when you are able to set up and test fallbacks. PNG is for exact pixels or strict form requirements, not for normal photos.
HEIC versus AVIF for the web
HEIC and AVIF are easily confused, because they are both modern and both can live in HEIF-family containers. The difference for a website owner is in adoption.
According to MDN, AVIF is a web image format that is supported by Chrome, Edge, Firefox, Opera, and Safari. Chrome's Lighthouse guidance recommends AVIF and WebP as modern image formats because they can reduce transfer size over older JPEG and PNG. Google’s WebP documentation also states that WebP is natively supported in major browsers and is generally useful for webmasters.
HEIC does not have the same cross-browser tale. It can be great in Apple workflows, but the public web favors formats that render everyplace or degrade cleanly.
Use this rule:
- HEIC for original iPhone storage.
- WebP for the everyday website default.
- AVIF for pages where byte savings justify the pipeline.
- JPEG for fallbacks and non-web compatibility.
- PNG for exact graphics and strict upload requirements.
Metadata and privacy during conversion
HEIC photos can contain the same sensitive metadata that people worry about in JPEGs, such as GPS coordinates, time the photo was taken, device model, lens information, and software history. Some converters maintain metadata. Some do without. Some keep only part of it.
PhotoTools' converter decodes the HEIC pixels and re-exports through the browser canvas pipeline. In this project, HEIC files are detected by MIME type or .heic/.heif extension, decoded with heic2any into PNG frame blobs, drawn through createImageBitmap and OffscreenCanvas, then exported with convertToBlob() as JPG, PNG, WebP, or AVIF. That kind of canvas re-encoding is useful when you want a clean delivery file, but you should still verify the output when GPS privacy matters.
If you need to retain metadata for archiving, keep the original HEIC. If you need to remove metadata for sharing, check the converted file before you send it.
How to convert HEIC to JPG in PhotoTools
PhotoTools can take HEIC as input, but it’s not the best public output.
So when you drag a HEIC or HEIF file into the converter, the browser-side code recognizes a file by MIME type or extension. Multi-frame HEICs are split into individual frame cards. Each frame can be exported as JPG, PNG, WebP or AVIF. The source photo does not have to be uploaded to a conversion server.
- Open HEIC to JPG and choose one or more iPhone photos.
- Wait for the browser to decode the HEIC frames. Large files and Live Photo exports may take longer than ordinary JPEGs.
- Keep JPG as the output when the destination is email, Windows, a document portal, or a site that lists JPEG as accepted.
- Download the result and open it in the receiving app before deleting or archiving anything.
- Keep the original HEIC if you want its metadata, editing latitude, or smaller Apple-library master.
This is useful for:
- iPhone photos that need to open on Windows.
- Web forms that reject HEIC.
- CMS uploads that need JPEG or WebP.
- Passport or application photos where the portal lists accepted formats.
- Product photos that should become WebP before publishing.
- Private photos where you do not want to send originals to a third-party server.
Select JPG for sharing like normal. For web publishing, use WebP or AVIF with fallbacks. If a form explicitly says PNG, choose PNG.
How to convert HEIC to JPG
A practical checklist before publishing an iPhone photo
Use this checklist when a photo starts as HEIC:
- Check the destination's accepted file types.
- If it is a public website, do not publish the raw HEIC as the only source.
- Convert to WebP or AVIF for delivery if your site supports those formats.
- Keep a JPEG fallback for older browsers, email, and strict upload systems.
- Use PNG only when exact pixels or a form requirement justifies the larger file.
- Resize the photo to the largest size it will actually display.
- Check whether metadata should be kept or removed.
- Test the final page in more than Safari.
The short version HEIC is a good capture and storage format. It is not yet a reliable universal web delivery format. Treat it as the original, then export the version your audience and pipeline can actually open.
Technical sources checked
This guide was reviewed against Apple Support's HEIF/HEVC guidance, WebKit's Safari 17 HEIC announcement, Apple Developer's media formats for the web session, MDN's image format guide, Microsoft's Photos HEIF/HEVC extension guidance, Microsoft's OneDrive HEIF/HEVC notes, Chrome Lighthouse image-format guidance, and Google's WebP documentation.