How to Batch Rename Photos After HEIC to JPG Conversion
The least work is to name the files while you convert: heicly can keep the original names, add a prefix, or number the JPGs (photo-001.jpg, photo-002.jpg…), and the ZIP uses the same names. To rename JPGs you already have, use Microsoft PowerRename or a short PowerShell script on Windows, or the Finder’s built-in Rename on a Mac. To name photos by the day they were taken, use the date taken stored in the JPG, not the file date.
Which method fits
| heicly, while converting | PowerRename (Windows) | PowerShell script (Windows) | Finder (Mac) | |
|---|---|---|---|---|
| Install | Nothing | PowerToys (free, from Microsoft) | Nothing: Windows PowerShell ships with Windows | Nothing |
| Patterns | Original name, prefix + name, prefix + 001 | Search and replace, counters, dates | Anything you script | Replace text, add text, name + index, counter or date |
| Reads the date taken | No | Yes (EXIF) | Yes (EXIF) | Not stated in Apple’s guide |
| Preview before renaming | Change the setting any time before downloading | Yes, plus undo | -WhatIf |
— |
Third-party details checked on 31 October 2026; sources are listed at the end.
Method 1: Name the JPGs while you convert
The converter below runs on this page. Your photos are converted on your device and are not uploaded.
Drop several HEIC or HEIF photos here
or
Your files never leave your device — everything happens right here in your browser. After one conversion, the converter also works offline.
Select several .heic or .heif files at once. You can mix both kinds in one batch.
Note: refreshing or closing this page clears the current tasks and results.
After you add photos, a Download file names menu appears above the list:
- Keep original names (the default): IMG_0412.HEIC becomes IMG_0412.jpg. Only the extension changes.
- Add a prefix: the prefix goes in front of the original name, so
trip-gives trip-IMG_0412.jpg. - Number them (001, 002…): the prefix plus a three-digit number, starting from
photo-(photo-001.jpg). Type2026-01-15_as the prefix and you get 2026-01-15_001.jpg, 2026-01-15_002.jpg…
How the names behave, checked on this site on 31 October 2026:
- Type your own separator. The prefix is used exactly as typed, so include the hyphen or underscore. Characters Windows and macOS do not allow in file names (such as
\ / : * ? " < > |) are removed, and the prefix is capped at 40 characters. - Change it any time before downloading. Finished files are renamed as soon as you change the setting, and the ZIP uses the current names.
- Numbers follow the list order and keep counting across batches on the same page: a second batch continues at 004. Reload the page to start again at 001.
- No overwriting. Two photos with the same name in one batch become IMG_0412.jpg and “IMG_0412 (2).jpg”.
- The choice is remembered in your browser (the
heicly-namingentry described in the privacy policy), so the next visit uses the same naming.
heicly numbers photos in list order, not by the time they were taken. To name by date, convert each day or event as its own batch with a date prefix, or use one of the methods below.
Method 2: PowerRename on Windows
PowerRename is part of Microsoft PowerToys, a free, open-source set of utilities for Windows 10 and 11. Select the JPGs in File Explorer, right-click and choose Rename with PowerRename. A preview pane shows every new name before you apply it, and Ctrl+Z in File Explorer undoes the rename.
To name photos by date taken plus a counter:
- Turn on Use regular expressions, set Search for to
.*(the whole name), and leave Match all occurrences off. - Set Apply to to Filename only, so
.jpgstays. - Choose the EXIF/MDF option in the drop-down and turn on Enumerate items.
- In Replace with, enter
$DATE_TAKEN_YYYY-$DATE_TAKEN_MM-$DATE_TAKEN_DD-${padding=3;start=1}.
Check the preview pane: names should read like 2026-01-15-001.jpg. The counter runs across all the files you selected. We wrote these steps from Microsoft’s documentation and have not run them on a Windows PC ourselves, so rely on the preview pane before you apply. PowerRename’s plain $YYYY, $MM and $DD patterns use the file’s creation date instead, which for converted JPGs is when you saved them.
Method 3: A PowerShell script on Windows
This script reads the date taken (EXIF DateTimeOriginal) from each JPG and renames them 2026-01-15_001.jpg, 2026-01-15_002.jpg…, numbering each day from 001 in shooting order. Open Windows PowerShell, go to the folder with the JPGs (for example cd "$HOME\Downloads\photos") and paste the script:
Add-Type -AssemblyName System.Drawing
$photos = foreach ($file in Get-ChildItem -File -Filter *.jpg) {
$img = [System.Drawing.Image]::FromFile($file.FullName)
try {
if ($img.PropertyIdList -notcontains 0x9003) { Write-Warning "No date taken: $($file.Name)"; continue }
$text = [System.Text.Encoding]::ASCII.GetString($img.GetPropertyItem(0x9003).Value).TrimEnd([char]0)
} finally {
$img.Dispose()
}
$taken = [datetime]::MinValue
if (-not [datetime]::TryParseExact($text, 'yyyy:MM:dd HH:mm:ss', [System.Globalization.CultureInfo]::InvariantCulture, 'None', [ref]$taken)) {
Write-Warning "Unreadable date: $($file.Name)"; continue
}
[pscustomobject]@{ File = $file; Taken = $taken }
}
$perDay = @{}
foreach ($p in $photos | Sort-Object Taken) {
$day = $p.Taken.ToString('yyyy-MM-dd')
$perDay[$day] = $perDay[$day] + 1
$newName = '{0}_{1:D3}.jpg' -f $day, $perDay[$day]
Rename-Item -LiteralPath $p.File.FullName -NewName $newName -WhatIf
}
- Try it first. With
-WhatIf, PowerShell only lists what it would rename. Remove-WhatIffrom the last line and run it again to rename. - Nothing is overwritten. Rename-Item cannot replace an existing file, so a name that is already taken shows an error and that file keeps its name.
- Run it on files that still have their original names. If the folder already holds names like 2026-01-15_001.jpg, new names can collide and those files keep their names.
- Not tested on our side. We wrote the script from Microsoft’s documentation and have not run it on a Windows PC, so always check the
-WhatIflist first. - Photos without a date taken are skipped with a warning. The script uses System.Drawing, so it is for Windows PowerShell on Windows.
- Work on a copy of the folder the first time.
Method 4: Finder on a Mac
The Finder can rename many files at once, no app needed:
- Select the JPGs, then Control-click one of them and choose Rename.
- In the pop-up menu below Rename Finder Items, choose one of three ways:
- Replace Text: for example, find
IMG_and replace it withKyoto_. - Add Text: add text before or after the current name.
- Format: put an index, counter or date before or after a name you type in Custom Format, and enter the number to start with.
- Replace Text: for example, find
- Click Rename.
Apple’s guide does not say which date the Format option uses. The file dates of converted JPGs are when they were saved, so for names by date taken, set a date prefix in heicly while converting, as in Method 1.
Naming patterns that work
- By date:
2026-01-15_001.jpg. Year-month-day sorts in time order in any file list. In heicly, number the photos with the prefix2026-01-15_; afterwards, use Method 2 or 3. - By event:
Wedding_001.jpg. Number them in heicly with the prefixWedding_, or use the Finder’s Format option. - Keep the original name and change only the extension. That is heicly’s default, IMG_0412.HEIC → IMG_0412.jpg, so the JPG is easy to match with its HEIC original.
Why not the file date? A JPG saved from a converter gets a new file date. Its date taken is inside the file: heicly’s JPGs keep the date taken and camera details, and location (GPS) only if you turn on “Also keep location (GPS)”. PNG and PDF files from heicly have no EXIF, so date-taken renaming needs JPGs.
Sources
Checked on 31 October 2026: Apple’s Rename files, folders, and disks on Mac; Microsoft Learn’s PowerRename, PowerToys, What is Windows PowerShell?, Rename-Item, Image.FromFile and PropertyItem.Id.
Summary
- Fewest steps: pick the naming in heicly before you download; the ZIP uses the same names.
- Names by date taken on Windows: PowerRename’s
$DATE_TAKEN_patterns, or the PowerShell script. - On a Mac: the Finder’s Rename for replacing text, adding text or numbering.
Converting many photos at once? See how to batch convert HEIC to JPG.