Why forms reject iPhone photos
HEIC is a High Efficiency Image Container. Windows, most ATS software, and Indian government stacks still expect JPEG. People then email the HEIC, get an “invalid format” error, screenshot the photo (worse), and still miss the kilobyte cap. ExactKB decodes HEIC in WebAssembly via heic2any, draws it to a canvas, and emits a JPG at your target size. The original never leaves the tab.
This is a conversion-out problem, not a photography problem. The photo may already be a perfect 2×2. The intake just cannot read the container. Solving format without solving size is how candidates end up with a 4 MB JPEG and a second error message.
Convert without exploding the file
A naive HEIC → JPG export at quality 100 can be larger than the HEIC. That helps nobody. This page defaults to a 100 KB target because that is the usual next rejection after “wrong format.” Change it to 50 KB for PAN/SSC or 20 KB for a signature scan. The quality search spends the whole budget; it does not pick 40% “to be safe.”
Step-by-step walkthrough with common iOS export mistakes: HEIC to JPG under 100 KB.
What happens on the device
- You pick a
.heicor.heiffrom Photos or a folder. - A WASM HEIF decoder that shipped with this site turns it into a JPEG bitmap in memory.
- The bitmap is drawn on a canvas (EXIF and GPS drop here).
- The exact-KB encoder writes a JPG at or under your target.
- You download that JPG or add more files and ZIP them. Still local.
After the first page load you can enable airplane mode and finish. There is no convert API to call. If a burst cover or an edited Live Photo fails decode, duplicate it as a still in Photos or share as JPEG, then drop that JPEG on compress to 100 KB.
What we do not do
- We do not upload the HEIC to a conversion API.
- We do not keep EXIF. Canvas redraw strips GPS — useful for ID photos, mandatory in this version.
- We do not crop a 4:3 Camera shot into a 630×810 passport frame. Do that first if the form requires it.
- We do not claim the result is a valid visa or exam photograph. Size and format only.
Android and Windows users
You can still use this page if someone AirDropped or WhatsApped a HEIC to you. Chrome and Firefox on current Windows decode through the same WASM path. If Windows shows a blank thumbnail, ignore the thumbnail — drop the file here anyway. If decode fails, ask the sender for a JPEG; do not screenshot their lock screen.