filename.heic
Queued—
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
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
85% is the sweet spot for the web: sharp on retina screens, quick to load.
filename.heic
Queued—
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.
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.
Drag them onto the box above or press Select Files. Conversion runs on your device and starts automatically.
Download the JPGs, then go to Media › Add New Media File and drop them in. Thumbnails generate normally.
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.
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.
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.