HEIC/HEIF on WordPress: An End-to-End Workflow from iPhone Upload to WebP/AVIF

Most iPhone users who run WordPress sites have hit this wall at least once. You try to upload a photo straight from your camera roll, and WordPress either throws an error or does something weird with the file. The culprit, more often than not, is HEIC.
The usual workaround is switching the iPhone camera to JPEG mode and forgetting about it. It works, but you’re leaving efficiency on the table, bigger files on your phone, larger source images to compress later.
There’s a cleaner way to handle this, keep HEIC on your phone, upload normally, and automatically serve lightweight WebP or AVIF files to visitors. Setting it up takes maybe ten minutes. After that, it just runs.
Why HEIC and WordPress don’t get along
Apple switched to HEIC as the default camera format with iOS 11. The format is based on the HEIF standard and it’s genuinely efficient, roughly half the file size of JPEG at similar visual quality. For a phone with limited storage, that matters a lot.
For the web, though, HEIC is basically invisible. Browsers don’t support it. WordPress support depends entirely on whether the server is running PHP with imagick compiled with HEIC support, which most shared hosting environments aren’t.
On servers where WordPress does accept HEIC uploads, it converts to JPEG and stops there. No WebP, no AVIF, just a JPEG. Which means even in the best-case native scenario, you’re not getting next-gen formats out of it.
What you’re actually trying to achieve
The ideal end state: upload a HEIC file the same way you’d upload any JPEG or PNG, and have it automatically compressed and delivered as WebP or AVIF to whoever visits the page.
No converting on your phone beforehand. No running files through an external tool. The whole thing happens server-side, automatically, on every upload.
Two things need to work for this: WordPress has to accept the file, and something needs to handle the conversion and next-gen format generation after that. ShortPixel Image Optimizer takes care of both.
Step 1: One decision to make on your iPhone
Go to Settings → Camera → Formats. You’ll see High Efficiency (HEIC) and Most Compatible (JPEG).
Most Compatible removes the problem entirely, everything shoots as JPEG, no compatibility issues anywhere downstream. The cost is roughly double the storage on your camera roll and a larger source file every time you upload.
High Efficiency is worth keeping on. Partly for storage reasons, but also because converting on the server side is actually the better approach, you’re preserving the original quality and converting once, rather than converting on the device and then compressing again after.
Leave it on High Efficiency and handle the rest in WordPress.
Step 2: Why native WordPress handling falls short
On a server with proper imagick support, WordPress will accept a HEIC upload and generate thumbnails. But it converts to JPEG in the process, and that’s where it stops. You’re not getting WebP or AVIF, and there’s no compression optimization happening either, just a format conversion.
The WordPress mobile app handles things differently: it converts HEIC to JPEG client-side before the file even reaches your server. Also functional, also not ideal.
ShortPixel allows HEIC uploads even on servers that don’t support the format natively. The actual conversion and optimization happens in ShortPixel’s optimization cloud, not on your server, which keeps your hosting resources out of the equation entirely.
Step 3: Configuring ShortPixel
Install ShortPixel Image Optimizer from the plugin directory. You’ll need a free account for the API key, the free plan gives you 100 images per month, enough to run through the setup and confirm everything is working before choosing a plan.
The settings that matter for this workflow:
Compression type — For most sites, Lossy is the right choice. It gives you the biggest reduction in file size with no visible quality difference for standard photography. Glossy is worth considering if you’re a photographer or running an e-commerce store where image quality directly affects how products are perceived. Lossless is there if you genuinely need pixel-perfect output, but the file size savings are minimal.
WebP and AVIF — Open the Advanced tab and enable both “Create WebP versions” and “Create AVIF versions.” This is the step that actually generates the next-gen formats. Without it, you’re only getting a compressed JPEG.
Delivery method — ShortPixel can serve WebP/AVIF through .htaccess rewrite rules, which is transparent, your HTML stays exactly as it is, and the browser just receives a different file. The plugin can also deliver all these images via our global CDN, which needs no configuration. Alternatively, it can rewrite <img> tags to <picture> elements. The .htaccess and CDN approaches are simpler for most setups; if your host doesn’t support mod_rewrite, switch to the CDN or <picture> method.
EXIF data — iPhone photos embed GPS coordinates by default. If you’re uploading images taken at home or anywhere location-sensitive, enable EXIF stripping.
Save the settings, then go to Media > Bulk ShortPixel to process your existing media library. New uploads are handled automatically from that point.
Step 4: What actually happens after upload
Once ShortPixel is configured and you upload a HEIC file, the sequence looks like this:
WordPress accepts it, HEIC is now in the allowed types list. The file gets passed to ShortPixel’s optimization cloud, which converts and compresses it, then generates WebP and AVIF versions alongside the optimized JPEG. All three end up on your server.
When someone loads a page with that image, their browser sends an Accept header that tells ShortPixel what formats it supports. Chrome and Firefox get AVIF, Safari gets WebP, anything older gets JPEG. Your image tags don’t change, the right format is selected and delivered automatically in the background.
Step 5: Making sure it’s actually working
Check the Media Library first. ShortPixel adds a column showing compression percentage and a status icon for each image. Green checkmark means it processed correctly.
To confirm format delivery, open Chrome, go to DevTools → Network, filter by images, and reload the page. The Type column should show webp or avif, not jpeg.
Run the page through Google PageSpeed Insights as a final check. The “Serve images in next-gen formats” warning should be gone.
The file size difference in practice
A typical iPhone photo goes through quite a transformation:
- Original HEIC: 3–5 MB
- Standard JPEG: 2–3 MB
- Optimized JPEG (ShortPixel Lossy): ~400–600 KB
- AVIF (ShortPixel): under 200 KB
Per image, that’s already significant. Across a site with hundreds of photos, product images, blog photos, portfolio shots, the cumulative effect on load time and bandwidth is substantial. Core Web Vitals scores tend to reflect that pretty quickly after optimization kicks in.
When something doesn’t work
Upload still fails after installing ShortPixel — Security plugins like Wordfence and iThemes Security maintain their own MIME type lists independently of WordPress. If HEIC uploads are still being rejected, check your security plugin settings and whitelist image/heic there.
WebP or AVIF not showing in DevTools — If you’re on the .htaccess delivery method, open that file and look for a # ShortPixel comment block. If it’s missing, the rewrite rules weren’t added, likely because your host doesn’t support mod_rewrite. Switching to the CDN or <picture> element method in ShortPixel’s settings usually fixes this.
Slight color shift on some images — HEIC supports wide color gamut (Display P3). Converting to sRGB-based formats can cause a subtle shift on images with highly saturated colors. Switching to Glossy compression in ShortPixel minimizes this in most cases.
If you’re already dealing with iPhone images on WordPress, this workflow takes only a few minutes to set up and runs automatically afterward. You can test it using the free plan before committing to a subscription, no credit card required.
FAQs
Can I upload HEIC to WordPress without a plugin?
On some servers, yes, if PHP’s imagick extension has HEIC support compiled in. But you won’t get WebP or AVIF output, and it’s inconsistent across hosting environments. ShortPixel gives you reliable results regardless of what your server supports natively.
Does ShortPixel go HEIC → JPEG → WebP, or is it a direct conversion?
ShortPixel Image Optimizer processes HEIC and outputs optimized JPEG, WebP, and AVIF versions in one pass. The JPEG is the fallback; the next-gen formats get served to browsers that support them.
Will visitors on older browsers still see my images?
Yes. ShortPixel always generates a JPEG alongside the next-gen versions. Browsers that don’t support WebP or AVIF receive the JPEG automatically, nothing breaks.
Does this work for images already in the media library?
Yes. After configuring the plugin, start a bulk optimization to process existing uploads. ShortPixel will generate WebP and AVIF versions for those images too.
Should I just switch my iPhone to shoot JPEG instead?
There’s no need to. Keeping HEIC on the device and converting server-side is actually the better approach — you preserve the highest-quality source file and convert only once.
Try ShortPixel on WordPress for free!
Easily optimize your pictures and improve your website’s speed using ShortPixel Image Optimizer.