You AirDrop a photo of a receipt from your iPhone and it lands in Downloads as IMG_5213.HEIC. Two problems at once: a format that some websites and older apps still refuse, and a name that says nothing.
for f in *.HEIC; do sips -s format jpeg "$f" --out "${f%.HEIC}.jpg"; done
All four are free and none of them uploads anything. None of them gives the photo a name.
A photo of a receipt has the shop, the date and the total written on it. A photo of a whiteboard has the meeting's title. That is the name you would type, if you had the patience.
This is what Tidy does since version 3.0.4, and I build it, so read this part as informed rather than neutral. When a photo arrives from the iPhone by AirDrop, Tidy reads it on the Mac and names it by what it says. If you prefer JPG, there is a setting for that: it converts the photo on the Mac, keeps the date, the camera and the location, and sends the HEIC to the Trash. If you leave HEIC as the setting, a button next to the new name does the conversion only when you want it.
| What arrived | What it became |
|---|---|
A photo of a receiptIMG_4417.HEIC | 2026-03-14-corner-market-18-40-usd.jpg |
A photo of a dog in a landscapeIMG_5213.HEIC | perro-en-un-paisaje.HEIC |
Two honest limits. A photo with no text, like the dog, only gets a descriptive name on macOS 27 with Apple Intelligence, which can look at the image on the Mac (on a Mac set to Spanish, as mine is, the name comes out in Spanish). Without it, the photo keeps its name rather than get an invented one. And it only acts on what arrives by AirDrop: the HEIC files you already have are left alone.
The app I built is Tidy for Mac. It names your photos, screenshots and documents by what is inside them, files them away, and lets you search inside them with ⌥Space. Everything is read on your Mac and nothing is uploaded. It never deletes anything: what it removes goes to the Trash. US$9 once, macOS 14 or later, Apple silicon and Intel. I am a solo developer in Santiago, Chile, and I answer every email myself.
Also worth reading: Rename files by their content · Rename screenshots automatically · Rename scanned PDFs by what is inside
This article in: English · Español · Deutsch · Français · Português