How to Fix HEIC Image Upload Errors in WordPress

WordPress refuses .heic files with a "Sorry, you are not allowed to upload this file type" message. Convert them to JPG below and the upload just works — no plugin, no server settings, no account.

100% Local — Files Never Leave Your Browser

HEIC to JPG converter

Drop your HEIC photos here

or pick them from your device — conversion starts automatically

Supports .heic and .heif from iPhone, iPad and modern Android cameras

Nothing queued yet. Converted photos appear here with their own download button.

Why WordPress blocks HEIC uploads

WordPress keeps a whitelist of permitted MIME types, and .heic is not on it. That single line of defence is why the Media Library answers a perfectly valid iPhone photo with "Sorry, you are not allowed to upload this file type".

The whitelist is not the whole story, though, and forcing the file through with a snippet usually makes things worse. WordPress generates several resized copies of every image it accepts, and it hands that job to GD or ImageMagick on your server. Most hosts ship those libraries without HEVC support, so the resize step fails and you end up with a broken attachment. Even if it succeeded, no major browser renders HEIC in an <img> tag, so visitors on Windows and Android would see nothing at all.

Converting to JPG before you upload removes every one of those failure points at once. Here is the whole fix:

  1. Drag your HEIC photos into the converter

    Drop them onto the box above, or press Select Files. Conversion starts on its own and runs on your device.

  2. Download the generated JPGs

    Each photo gets a JPG button when it is ready. For a batch, use Download All (.ZIP) and unzip the folder.

  3. Upload the JPGs to WordPress

    Go to Media › Add New Media File and drop the JPGs in. They upload cleanly and thumbnails generate normally.

Nothing about your site changes: no plugin to keep updated, no functions.php edit to lose at the next theme update, and no dependency on what your host compiled into ImageMagick. The photos are decoded by WebAssembly inside your own browser, so they are never uploaded anywhere but your Media Library.

Frequently asked questions

Does WordPress support HEIC natively?

No. WordPress blocks .heic and .heif uploads by default because the format is not among its permitted MIME types. Even when an upload is forced through with a filter, the image library on most hosts cannot decode HEIC, so WordPress fails to generate the resized thumbnails it needs — and browsers cannot display the original anyway.

Converting to JPG sidesteps the entire chain: the MIME check passes, thumbnails generate, and every visitor sees the image regardless of device.

Why convert locally instead of using a WordPress plugin?

A conversion plugin does the same job on your server, which means it inherits your server's limits. It only works if your host compiled HEIC support into ImageMagick, it burns CPU on every upload, and it is one more plugin to update, audit and debug when something else breaks.

Converting in the browser adds nothing to your site. It works on managed WordPress hosts where you cannot change the image stack, it costs your server no resources, and the photo never travels anywhere except to your own Media Library.

Will converting to JPG reduce my image quality?

Not visibly at the default setting. Resolution never changes, so a 12 megapixel photo stays 12 megapixel. JPG is a less efficient codec than HEIC, so the file will usually be somewhat larger — and WordPress will compress it again when it generates its own image sizes.

One thing worth knowing: the JPG carries no EXIF data, so capture dates and GPS coordinates are stripped. For photos going on a public website that is usually what you want.