filename.heic
Queued—
On your phone the photo sends fine; from WhatsApp Web it goes as a document nobody can open. Convert below and it sends as a proper image.
100% Local — Files Never Leave Your Device
Drop your photos here
or pick them from your computer — converted files send as images
Supports .heic and .heif from iPhone, iPad and modern Android cameras
85% is more than WhatsApp's own compression will preserve anyway.
filename.heic
Queued—
WhatsApp on an iPhone re-encodes photos to JPEG before sending, which is why anything you share from the phone always opens. WhatsApp Web and Desktop take the file from your computer as-is, and the browser cannot decode HEIC — so it falls back to sending it as a document.
Recipients then get a file attachment with no preview, which on Android or Windows they cannot open at all. From their side it looks like you sent something broken.
Converted JPGs attach through the photo picker rather than the document one, so they appear inline in the chat with a thumbnail, forward properly and save to the recipient's gallery.
WhatsApp compresses images hard on its own, so there is nothing to gain from a huge file — 85% arrives looking identical after their pipeline is done with it.
Drag them onto the box above or press Select Files. Conversion happens on your computer.
Download the JPGs, then attach through the photo option in the chat rather than the document one.
Because it cannot decode HEIC in the browser, so it cannot treat the file as an image and falls back to sending it as a plain document. The recipient gets an attachment with no preview that many devices cannot open.
Not noticeably. WhatsApp applies its own heavy compression to every image it sends, so an 85% JPG and a full-quality one arrive looking the same. Resolution is unchanged by the conversion itself.
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.