Skip to content

Guides

Why your iPhone photos won't upload to WordPress (and how to fix it)

You took a nice photo on your phone. It looks fine right there on the screen. You go to add it to your website, you drag it into the WordPress Media Library, and nothing good happens. Either WordPress tells you the file type isn't allowed, or it uploads but shows a broken, blank little square where the picture should be. You try again. Same thing. The photo is clearly fine, so what is going on?

I have watched people lose half an hour to this, convinced they did something wrong. They didn't. The photo is fine. The problem is the kind of file your iPhone saved it as, and once you understand that part, the fix is easy.

What HEIC actually is

A few years back, Apple changed the default way iPhones save photos. Instead of the old JPEG format that every website and browser understands, newer iPhones save photos as HEIC, which stands for High Efficiency Image Container. The "high efficiency" part is the selling point: HEIC files are smaller than JPEGs at the same quality, so you fit more photos on your phone. That is a genuinely good thing for your phone.

The trouble is that a lot of WordPress sites, and a lot of web browsers, can't read HEIC. So when you hand WordPress a .heic file, it shrugs. It doesn't know what to do with it, so it either refuses the upload or shows you a blank square.

Here is a way to picture it. Imagine you wrote a beautiful letter in a notebook, and you mail the whole notebook to a friend overseas. The letter inside is perfect. But the post office in the other country only accepts standard envelopes, not notebooks, so your letter never gets delivered. Nothing is wrong with what you wrote. It is just packaged in a form the other end can't accept. HEIC is the notebook. WordPress wants a standard envelope.

So the goal is simple: get your photo into a form WordPress understands. There is more than one way to do that, and which one is right for you depends on how often you deal with this.

Option one: change one setting on your iPhone, and the problem stops for good

This is the fix most people don't know about, and it costs nothing. Your iPhone can save photos as ordinary JPEGs instead of HEIC. Open the Settings app, tap Camera, then tap Formats, and choose "Most Compatible" instead of "High Efficiency." From that moment on, every new photo you take saves in the format WordPress already accepts. You will not have to think about this again.

The one catch: this only affects photos you take after you change the setting. Photos already on your phone are still HEIC, so for those you will still need one of the next two options.

Option two: convert the photo before you upload it

If you only have a handful of older photos to deal with, you can change them to JPEG before they ever reach WordPress. On an iPhone, the simplest trick is to email the photo to yourself or send it through most messaging apps, which often converts it to JPEG along the way. On a Mac or Windows computer, you can open the photo and use "Export" or "Save As" to save a JPEG copy. It is a couple of extra steps, but for a small number of photos it gets the job done.

Option three: let WordPress handle it automatically

I ran into this problem enough times, on my own sites and on the sites I look after for other people, that I got tired of explaining the workaround every time. So I built a small free plugin that fixes it at the source. It is called This Is My URL HEIC Support, it is free, and it lives on GitHub.

Here is what it does. When you upload a .heic file, the plugin catches it right at the moment of upload and converts it to a standard web format WordPress accepts, so the photo just works. There is no outside service or account involved, and it keeps your original file rather than throwing it away.

This is the right option if you, or the people you hand the website to, are going to keep uploading straight from an iPhone and you would rather not think about file formats at all.

FixPhotos you take from now onPhotos already on the phoneBest when
Change the camera setting to "Most Compatible"Saved as JPEG, fixed for goodStill HEICYou upload your own photos
Convert before uploadingWorks, one photo at a timeWorks, one photo at a timeYou have a handful of older photos
Install the HEIC Support pluginConverted at uploadConverted at uploadOther people upload from their phones
All three cost nothing. The plugin is the one that works no matter whose phone the photo came from.

If you only ever upload photos yourself, change the camera setting to "Most Compatible" today and the problem mostly disappears going forward. If other people upload to your site from their phones, and you can't talk all of them into changing a setting, that is when installing the plugin earns its place: it fixes the photos no matter who took them or how their phone was set up.

Either way, the next time a photo looks perfect on the phone but lands blank in WordPress, you will know exactly why, and you will know it is a five-minute fix.

iPhone and Apple are trademarks of Apple Inc. This Is My URL is not affiliated with or endorsed by Apple.