You take a photo on your iPhone, paste it into a GitHub issue, a Slack message, a CMS or an email, and you get a broken image, a download prompt, or a flat "unsupported file type". The file ends in .heic, and most of the web cannot show it.
This post explains why that happens and the fastest ways around it, including one that needs no app and no signup.
Why iPhone photos are HEIC
Since iOS 11, iPhones save photos as HEIC (the HEIF container with HEVC compression) by default. It stores a photo at roughly half the size of a JPEG at similar quality, which matters when you are filling a phone. The catch is compatibility: browsers, many upload forms, image hosts, email clients and CMSs only understand formats like JPEG, PNG, WebP and AVIF. Apple's own apps convert on the fly, so you rarely notice until you share outside them.
Fix 1: convert it in your browser and get a link
If you just need a working link (to paste into an issue, a chat, a doc or an email), use the free HEIC to URL tool:
- Open the page and drop the
.heicfile (or choose it from your photos). - The photo is converted to JPEG inside your browser. Your original HEIC is never uploaded.
- You get a hosted URL, plus ready-made Markdown and HTML snippets.
Some honest details so there are no surprises:
- The result is a JPEG, so there is a small one-time quality cost from re-encoding. The tool starts at high quality and only lowers it if the file would exceed the 2 MB limit for this free tool.
- Because the photo is re-encoded in your browser, embedded metadata such as GPS location is not normally carried into the JPEG.
- Files up to 25 MB are accepted, and photos over 60 megapixels are refused because they are too large to convert safely in a browser tab.
- A burst or multi-image HEIC converts to its first image.
- The link from the free tool disappears after 24 hours. If you want to keep it, use the "Keep this image" button on the result and save it to a free account; the link then becomes permanent.
Have a HEIC right now? Convert it to a link. Need it smaller too? Run it through the image compressor.
Fix 2: stop your iPhone taking HEIC in the first place
On the phone, go to Settings → Camera → Formats and choose Most Compatible. New photos are then saved as JPEG. This does not change photos you have already taken.
If you move photos to a computer over a cable, Settings → Photos → Transfer to Mac or PC set to Automatic converts to a compatible format on the way, instead of copying the HEIC as-is.
Fix 3: convert on your computer
- macOS: open the photo in Preview and use File → Export, then choose JPEG. From a terminal:
sips -s format jpeg photo.heic --out photo.jpg. - Windows: the Photos app can open HEIC once Microsoft's HEIF/HEVC extensions are installed, and it can save a copy as JPEG.
- Linux and scripts:
heif-convert photo.heic photo.jpg(from libheif), or ImageMagick built with HEIC support.
Why image hosts reject HEIC
If you build something that accepts uploads, accepting HEIC is not a one-line change. A link to a HEIC file doesn't display in an <img> tag in most browsers, so a host that stores it as-is hands out URLs that break exactly where people paste them. That is why PixelVault hosts formats browsers can render (JPEG, PNG, WebP, AVIF, GIF, SVG), and why the HEIC tool above converts to JPEG before anything is uploaded. If your app or script handles iPhone photos, convert them first with one of the commands above, then upload the JPEG through the image hosting API.
Quick reference
- I need a link now: HEIC to URL.
- I want my phone to stop making HEIC: Settings → Camera → Formats → Most Compatible.
- I have a folder of photos to convert: Preview (macOS), the Photos app (Windows) or
heif-convert. - I need the image smaller: the image compressor, or
npx pixelvault-cli optimizefor a whole folder (JPG, PNG, WebP and AVIF; convert HEIC to JPEG first).