Convert HEIC to JPG for the WordPress Media Library

WordPress answers a perfectly good iPhone photo with "Sorry, you are not allowed to upload this file type". Convert below and the upload just works.

100% Local — Files Never Leave Your Device

HEIC to JPG converter

Drop your photos here

or pick them from your device — ready for Media › Add New

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

Nothing queued yet. Converted photos appear here ready for the Media Library.

Why WordPress blocks .heic uploads

WordPress validates uploads against a whitelist of permitted MIME types, and HEIC is not on it. That single check is the error message you are seeing.

Forcing the file through with a snippet usually makes things worse. WordPress generates several resized copies of every image it accepts, using GD or ImageMagick on your host — and most hosts ship those without HEVC support, so the resize fails and you are left with a broken attachment.

Why converting beats a plugin

A conversion plugin runs on your server, so it inherits your host's limits, burns CPU on every upload and adds one more thing to keep updated. Converting in the browser adds nothing to the site and works on managed hosts where you cannot change the image stack.

Nothing about your install changes: no functions.php edit to lose at the next theme update, no new plugin to audit.

  1. Drop your photos in

    Drag them onto the box above or press Select Files. Conversion runs on your device and starts automatically.

  2. Upload to the Media Library

    Download the JPGs, then go to Media › Add New Media File and drop them in. Thumbnails generate normally.

Frequently asked questions

Does WordPress support HEIC natively?

No. WordPress blocks .heic and .heif by default because they are not in its permitted MIME types, and the image libraries on most hosts cannot decode HEIC to generate thumbnails even if an upload is forced through. Converting to JPG avoids the whole chain.

Should I use a plugin instead?

A plugin does the same job on your server, which means it only works if your host has HEIC support compiled in, it uses CPU on every upload, and it is another dependency to maintain. Converting in the browser costs your site nothing and works on any host.

Is anything uploaded to a server?

No. The decoder is a WebAssembly module that runs inside your browser tab, so the photo is read from your device into memory and converted there. You can check it in your browser's Network tab, or disconnect from the internet once the page has loaded and convert anyway.