I manage a few small WordPress sites. Every time someone tries to drag iPhone photos straight into the media library, something breaks.
Either WordPress says “Sorry, this file type is not permitted”, or the upload spins forever, or — worse — it “succeeds” but the thumbnail is blank.
HEIC is the culprit more often than not.
Why WordPress does not love HEIC
WordPress allows file types based on MIME checks and server config. HEIC / HEIF is not in the classic “upload a blog image” mindset. Some hosts block it outright.
Even when a plugin claims HEIC support, you still depend on server-side conversion (ImageMagick, etc.). Shared hosting may not have the right codecs. Results vary.
I stopped fighting the media library and convert HEIC to JPG on my laptop first. Boring? Reliable.
My workflow for a photo-heavy post
- Shoot on iPhone (still HEIC — saves space on the phone).
- AirDrop or cable-copy the folder to the computer.
- Run everything through a HEIC to JPG converter — usually JPG at 85% quality, max width 2000px if I need smaller pages.
- Rename files something sane (
golden-gate-01.jpgnotIMG_4839.HEIC). - Upload JPGs to WordPress media library.
- Insert into the post, lazy-load as usual.
Total extra time for 30 images: maybe ten minutes. Less than debugging a failed upload.
Size and PageSpeed
HEIC is efficient on disk, but the web wants bytes that browsers decode without drama. JPG at reasonable quality is still fine for articles.
I sometimes export WebP for front-end performance on custom sites. WordPress with standard themes? JPG keeps life simple.
Alt text and SEO (the non-HEIC part)
Conversion does not replace alt text. I still write descriptive alts — Google image search does not care that the source was HEIC.
File names before upload help slightly. heic-to-jpg-demo.jpg beats IMG_0001.jpg.
Batch tools vs one-by-one in WP
There are plugins to bulk-upload. Few happily ingest 80 HEIC files on cheap hosting.
Browser batch conversion → one ZIP of JPGs → media library multi-upload works on every host I have used.
Try our batch-friendly converter if you do not want another desktop license.
When I leave HEIC in the pipeline
Almost never for WordPress.
Exception: I have seen boutique hosts with explicit HEIC support and local dev mirrors production. Even then I keep JPG masters in the project folder so a host migration does not break old posts.
Checklist before you hit Publish
- All media library items preview correctly
- Featured image is JPG/PNG/WebP, not HEIC
- File sizes under ~500KB each for blog posts unless you need full res
- Backup originals somewhere else if you care about the HEIC masters
WordPress wants boring mainstream formats. iPhones want HEIC. The bridge is a five-minute conversion step.
Convert first: HEIC to JPG online, then upload. Fewer grey hairs.