How to Batch Geotag Photos
Geotagging hundreds or thousands of photos without clicking each one. The method splits on one question β do you know the locations? Known: ExifTool and a CSV. Unknown: AI batch suggestions.
Geotagging one photo is easy. Geotagging a thousand is a different problem β and the tools that are pleasant for one photo become unbearable at scale. Clicking a map, finding the spot, placing a pin, moving to the next photo: at three or four photos a minute, a thousand-photo library is most of a working day. Batch geotagging is about not doing that. This guide covers how to tag a large set of photos efficiently, and the method depends almost entirely on one question.
TL;DR: The question is whether you know where the photos were taken. If you know the locations β a trip you remember, a spreadsheet of coordinates, a shared address β batch geotagging is a data-entry job, and ExifTool reading a CSV tags an entire folder in one command. If you do not know the locations, it is an inference job: manual tagging does not scale, and AI batch suggestion is the practical path β upload the batch, accept the high-confidence results in bulk, review the rest. Either way the output is standard EXIF GPS, so nothing locks you in.
The fork: do you know the locations?
Every batch-geotagging method falls on one side of a single fork, and picking the wrong side wastes hours.
If you know where the photos were taken, the coordinates already exist β in your memory, in a travel itinerary, in a spreadsheet, in a GPS track your watch recorded. The job is purely to get those known coordinates written into the files. That is data entry, and it automates well.
If you do not know where the photos were taken β inherited scans, an old camera library from trips that blur together, a card of images with no context β there is nothing to enter. The location has to be worked out from the photo itself. That is inference, and until AI it did not automate at all; you sat with each photo and guessed.
Most large batches are actually a mix. Sort the batch by this fork before you start, and handle each pile with the tool built for it.
Batch geotagging for known locations
When the coordinates exist, the fastest path is ExifTool, the free open-source metadata tool. It reads a CSV that maps filenames to coordinates and writes them across a whole directory:
exiftool -csv=locations.csv .
The CSV has a SourceFile column of filenames and GPSLatitude / GPSLongitude columns. ExifTool walks the folder and tags every file the CSV names, in one pass. For a few thousand photos whose coordinates you already have in a spreadsheet, this is a seconds-long operation.
Two other known-location patterns:
- One location for many photos. If a whole set was taken in the same place β a property shoot, an event, a single venue β you do not need a per-file CSV. Most geotaggers, RetroTagr included, let you select many photos and apply one coordinate to all of them at once.
- A recorded GPS track. If you carried a phone or GPS watch logging your position, a track-matching tool pairs each photo to where you were at the moment it was taken, by timestamp. ExifTool can do this with a GPX file, and dedicated tools like GeoSetter specialise in it. This is the most accurate method that exists β but only if you actually recorded a track.
The common thread: known-location batching is exact and scriptable, and the work is in assembling the coordinates, not applying them.
Batch geotagging for unknown locations
When you do not know the locations, ExifTool has nothing to write. This is where the batch genuinely needs AI, because the alternative β opening each photo, studying it, guessing the place, pinning a map β does not scale past a few dozen photos before it becomes the working day described at the top of this page.
AI visual recognition changes the shape of the job. Instead of you analysing every photo, the AI does the first pass across the whole batch at once:
- Upload the batch. Drag the folder into RetroTagr. Uploads run in the background.
- The AI suggests a location per photo. It reads landmarks, architecture, signage, vehicles, and terrain, and returns a coordinate plus a confidence band β high, medium, or low β for every photo.
- Bulk-accept high confidence. Sort by confidence and accept the high band in one action. These are the recognisable places, and on a typical batch they are a large fraction of it.
- Review medium confidence. Open these to confirm the AI got the right place, or nudge the pin.
- Handle low confidence manually. The photos the AI could not read get tagged from your own knowledge or skipped.
The AI does not replace your judgement β it removes the photos you would have spent no time on anyway (the obvious ones) so your attention goes only to the photos that actually need it.
At scale, the bottleneck is review
The mistake people make with large batches is optimising the wrong step. The tagging itself β writing GPS into a file β is instant whether it is one photo or ten thousand. What costs time at scale is review: deciding whether each suggested or entered location is correct.
So design the batch workflow around review, not tagging:
- Trust the confidence bands. Bulk-accept high confidence without inspecting each one; that is what the band is for. Spend your attention on medium and low.
- Triage low-confidence ruthlessly. A photo the AI could not place, that you also cannot place, does not need to hold up the batch. Skip it; a partly-tagged library is still a tagged library.
- Work in waves. A thousand photos does not have to be one sitting. Tag a folder, accept the wins, come back to the uncertain ones later.
Done this way, a batch that would have been a full day of manual clicking becomes an hour or two of review, most of it spent on a small uncertain remainder.
Where to go from here
If your batch is small, or every location is known and you just want the mechanics of writing one in, see how to add GPS coordinates to a photo. If your batch is mostly unknown locations and you want to understand what AI can and cannot do with them, the guide to geotagging old photos without GPS goes deeper on the inference side. And for the most common large-batch scenario of all β a scanned family archive β see geotagging scanned family photos.
RetroTagr's free tier covers 100 photos and 5 AI suggestions, enough to run the batch workflow on one folder and see whether it fits your library before scaling up.