Dumping a mixed iPhone folder straight into a converter creates duplicate photos, orphaned edit files, and mismatched counts. Sort by file extension into separate subfolders before you convert a single image.
Never convert inside your original folder. Mixing fresh JPGs into a directory that already holds HEICs, videos, and edit sidecars makes it hard to tell whether every photo converted cleanly.
Separate companion files before you start. Raw iPhone transfers include XML edit instructions and short video clips that converters rightly ignore, which throws off your file totals if you leave them mixed in.
Keep your 10-bit HEIC originals together in an archive folder. Standard JPG is an 8-bit delivery format for uploads, sharing, and older software, not a replacement for your master files.
When you copy photos off an iPhone over USB into Windows File Explorer or macOS Image Capture, or unpack an export from Google Photos Takeout, you rarely get a clean list of still images. Inside the DCIM directory, iOS splits files across numbered subfolders such as 100APPLE and 101APPLE, mixing several file types that share the same four-digit stem.
| File Pattern | What Is Inside the File | Workflow Action |
|---|---|---|
| IMG_1234.HEIC | Unedited original 10-bit HEIC capture | Convert only if no IMG_E version exists |
| IMG_E1234.HEIC | Rendered HEIC with your iPhone crops and filters baked in | Keep in the conversion queue; archive the unedited twin |
| IMG_1234.AAE | Plain-text Apple XML plist recording non-destructive edits | Move to archive with the unedited HEIC; converters skip it |
| IMG_1234.MOV | Short HEVC video half of a Live Photo | Move out before counting still images |
Before dragging anything into a browser window, make file extensions visible so the operating system cannot hide duplicate stems from you. If you also shot Live Photos or bursts, separating the video companions first is the only way your input and output counts will ever match.
View > Show > File name extensions (on Windows 10, tick File name extensions on the View ribbon). On macOS, open Finder > Settings > Advanced and tick Show all filename extensions.heic-queue, jpg-output, and originals-archive..HEIC files sit in one contiguous block..AAE sidecars, .MOV clips, and any stray .PNG screenshots straight into originals-archive, leaving only .HEIC stills for heic-queue.IMG_E files: if both IMG_1234.HEIC and IMG_E1234.HEIC are present, move the unedited IMG_1234.HEIC into originals-archive so you do not convert both versions of the same shot.Whatever remains in heic-queue is now an exact list of unique still photos ready for conversion.
Following the camera filesystem standard, iOS names photos sequentially from IMG_0001 up to IMG_9999, then rolls the counter back to IMG_0001 inside a new APPLE subfolder. If you flatten years of camera roll subfolders into a single heic-queue directory, you will collide with older files of the exact same name and either overwrite photos or litter the folder with (1) and copy suffixes.
The cleanest fix is to keep each 100APPLE subfolder or event folder intact until its contents are renamed. On macOS, select all files in a subfolder, click File > Rename..., choose Format, set Name Format to Name and Index, and give the batch a clear prefix such as 2025-trip- before converting. On Windows, keep one subfolder per batch so converted JPGs inherit clean, non-overlapping names.
Convert one event subfolder at a time and save the downloaded JPGs (or extract the resulting zip) straight into jpg-output. Because you already stripped out .AAE and .MOV files, verifying the batch takes seconds rather than scrolling line by line.
heic-queue and jpg-output side by side; the total item count at the bottom of File Explorer or Finder (View > Show Status Bar) must be identical.heic-queue into originals-archive alongside the .AAE files so you keep the 10-bit originals on an external drive while working from jpg-output.Once your heic-queue folder holds nothing but clean .HEIC stills, open the HEIC to JPG converter and drag the whole selection onto the page. Everything decodes locally in your browser tab with no upload wait, and your output count will match your input count to the file.
Your photos are decoded in your own browser — open the converter and see.
First published: 5 November 2026