Snug Gallery / Guides

iPhone HEIC photos in a Shopify gallery

What happens to an iPhone HEIC photo when you upload it to Snug Gallery: the checks, how Shopify serves it to browsers, and when to convert first.

Most product photos taken on a phone in the last few years are HEIC files, because that is what an iPhone saves by default. Most of the web still thinks in JPEG. The two facts meet the moment someone drags a camera roll into a gallery app and wonders whether anything will work. This guide follows one HEIC photo from an iPhone into a Snug Gallery block and out to a shopper's browser, and says where the format makes a difference and where it does not.

What HEIC is and why your phone makes it

HEIC is the file container Apple adopted for photos in 2017. Inside is an image compressed with the HEVC codec, which is why the same photo is roughly half the size of a JPEG at the same quality. The camera setting that controls it is called Formats, with two choices: High Efficiency, which produces HEIC, and Most Compatible, which produces JPEG. High Efficiency is the default on every recent iPhone, so unless somebody changed it, the files are HEIC.

The catch is that HEIC was designed for devices, not browsers. Safari can display it; Chrome, Firefox and Edge generally cannot. A store that put raw HEIC files on a page would show broken images to most visitors. That is the problem any gallery app has to solve, and the solution is not to make you convert everything by hand.

Uploading a HEIC to the gallery editor

The editor's upload area accepts JPEG, PNG, GIF, WebP, HEIC and AVIF images, up to 20 MB each, which comfortably covers a 48 megapixel iPhone photo. HEIC is on the list on purpose. When you drop a file, the app checks the type the browser reports against that list, asks Shopify for a staged upload target, sends the bytes there and then creates the file in your store's Files library. The gallery stores a reference to that file, not a copy, which the Files versus app hosting guide explains in more detail.

One small detail matters for HEIC specifically. Some browsers, mostly on Linux, report no type at all for a .heic file. The app then falls back to the file extension to work out what it is. A file that still has its .heic or .heif extension goes through. A file that was renamed to something else, or exported with no extension, is rejected as an unsupported type, and the fix is to put the extension back rather than to change the photo.

Shopify's own Files library lists HEIC among the image formats it accepts, alongside JPEG, PNG, WebP and GIF, with the same 20 MB ceiling, so the gallery is not sneaking anything in. If a HEIC upload fails for a reason other than type or size, the upload error guide walks through the remaining messages.

What a shopper actually receives

This is the part that surprises people. The gallery never sends the HEIC file to a shopper. It asks Shopify's CDN for the image at the widths the layout needs, and the CDN delivers a format the requesting browser can display, typically WebP or AVIF for modern browsers and JPEG as a fallback. The conversion happens on Shopify's side, once, and the result is cached. A Chrome user on Windows sees the photo just as a Safari user does, and neither knows what the original was.

The practical consequence is that you do not need to convert HEIC files before uploading them for the sake of compatibility. You might still want to for other reasons, covered below, but a HEIC dropped straight from a phone into the editor ends up as a normal, fast, responsive image in every browser. The page speed guide describes how those resized copies are chosen and lazy loaded.

Getting the photo from the phone to the editor

The upload itself is the easy part. Getting a HEIC off an iPhone intact is where most of the friction sits, and each route behaves differently.

AirDrop to a Mac keeps the original HEIC. Exporting from the Photos app on a Mac offers Unmodified Original, which keeps HEIC, or a JPEG export, which converts. Plugging the phone into a Windows PC and copying through Explorer keeps HEIC, but the Photos app on Windows may need the free HEIF Image Extensions from the Microsoft Store before it can show you a thumbnail; the file is fine either way, Windows just cannot preview it. Emailing a photo to yourself from the iPhone usually converts it to JPEG along the way, as does sharing to many chat apps, which is why a photo that left the phone as HEIC sometimes arrives as JPEG with no explanation.

There is also a setting on the phone itself, under Settings, Photos, Transfer to Mac or PC. Automatic converts to JPEG when the receiving computer might not support HEIC; Keep Originals does not. If you want a predictable workflow, set it to Keep Originals and let the gallery handle the format, or set the camera to Most Compatible and never see a HEIC again. Both are fine. Mixing them is what leads to a folder with two copies of every photo.

HEIC from shoppers through the photo form

If you have turned on shopper submissions, the storefront form accepts JPG, PNG, WebP and HEIC up to 10 MB, and shoppers on iPhones are exactly the people who send HEIC. Two things are different from the editor. The form shows a preview of the chosen photo for every format except HEIC, because the shopper's own browser usually cannot decode it; for HEIC it shows the file name instead, which is enough to confirm the right file was picked. And the server does not trust the type the browser sent at all. It reads the first bytes of the upload, recognises the HEIC signature among a handful of allowed ones, and rejects anything else regardless of extension.

Safari on iOS adds one more wrinkle. When a web form asks for an image, iOS often converts HEIC to JPEG on the way out, depending on what the form says it accepts. So a fair share of what arrives from iPhones through the form is already JPEG. Either way the submission lands in the moderation queue and, once approved, is served by Shopify's CDN like any other gallery image.

When converting first is the better move

Compatibility is not a reason to convert. These are.

Editing. If you plan to crop, retouch or straighten in a desktop tool, check that the tool opens HEIC. Many do now, some older ones do not, and a quick export to JPEG or PNG from Photos saves an error dialog.

Transparency. HEIC can hold an alpha channel in theory, but the pipeline for a transparent cutout is PNG or WebP, as the transparent background guide explains. A cutout made from a HEIC should be saved as PNG before upload.

Live Photos and bursts. A Live Photo is a HEIC still plus a short video. Only the still uploads, which is almost always what you want, but if you expected the motion, the movie part has to be exported separately. A burst shows up as one HEIC per frame; pick the frame first rather than uploading ten near-duplicates.

Renamed or stripped files. If a file has lost its extension on the way through some tool, converting to JPEG is quicker than guessing what it is.

A short checklist

Leave the camera on High Efficiency unless you have another reason not to. Move photos to the computer by a route that keeps originals, or accept that some routes convert. Drop the HEIC files straight into the editor; the type check passes, Shopify stores them, and the CDN serves browser-friendly copies. Convert only when you need to edit, need transparency, or have a file with a missing extension. For everything else, the format your phone picked is fine, and Snug Gallery treats it as a first class image.

Frequently asked questions

Does Snug Gallery accept HEIC photos from an iPhone?

Yes. HEIC is one of the six image formats the editor accepts, with the same 20 MB limit as the others. The file is stored in your Shopify Files library and the gallery references it from there.

Will shoppers on Chrome or Windows see a HEIC image?

They will see the photo, not the HEIC. The gallery requests resized copies from Shopify's CDN, which delivers a format the shopper's browser supports, such as WebP, AVIF or JPEG. No browser ever receives the original HEIC file.

Why was my HEIC rejected as an unsupported type?

Usually the browser reported no type and the file had lost its .heic extension, so the app could not identify it. Restore the extension or export the photo as JPEG. A file over 20 MB is rejected for size instead, with a separate message.

Do I need to switch my iPhone camera to Most Compatible?

No. High Efficiency HEIC files upload and display correctly through the gallery. Switch to Most Compatible only if your editing tools cannot open HEIC or if you share photos through channels that handle JPEG better.

More guides