How to geotag photos from a GPX file
If you already record your walks, rides or hikes with a Garmin watch, a handheld GPS, an action camera or a tracking app, you have the location half of every photo you took on that outing. It sits in a GPX file. The other half — when each photo was taken — is in the photos themselves. Geotagging is putting the two together. (If you are new to it, the overview of how to geotag photos covers the other methods too.)
What a GPX file contains
GPX is the standard exchange format for GPS tracks. A track is a list of points, and each point has a latitude, a longitude, usually an altitude, and a timestamp. Almost every device and service can export one: Garmin Connect, Strava, Komoot and most GPS loggers offer an Export to GPX option on an activity.
Your camera writes the shutter time into each photo's EXIF data. To find where a photo was taken, you look up the moment it was shot in the track and read off the position. That is simple for one photo and tedious for six hundred, which is what a geotagging app is for.
Step by step on Mac or iPad
- Open the track. In EasyGeotag, choose Open GPX File… from the track list and pick the GPX. You can also drop the file straight onto the window. It stays under Recent Files (the last eight tracks you opened) so you can come back to it in one click.
- Open the photos. Open the folder of photos from the outing, or drag the folder onto the window. JPEG, HEIC and RAW files can be mixed in the same folder.
- Check the time settings. Open the matching controls and confirm the camera clock offset, the match window and the photo timezone. If the camera clock was right and the camera recorded its timezone, the defaults are already correct. If not, see why geotags come out wrong.
- Review the matches. Every photo is placed on the map along the track and shows how far it sat from the nearest real GPS point, so you can see which matches to trust. Positions are interpolated between points, so a burst of frames gets a burst of slightly different coordinates.
- Fix the stragglers. A photo taken before the track started or after it ended will not match. Drag it from the grid onto the map and drop it where you were.
- Write. Select all photos, a range on Mac, or use multi-select on iPad, and press Geotag. A confirmation sheet says exactly how many files will change and how. Files modified in place are copied to a backup folder first.
What gets written
Latitude, longitude and altitude go into the standard GPS fields that Lightroom, Apple Photos, Capture One and every other photo tool read. The city, region and country go into the IPTC location fields too, so you can search your library for a place name rather than a coordinate.
On Mac, RAW files are written in place by ExifTool, which is bundled inside the app. On iPad, RAW files get an XMP sidecar instead. The guide to geotagging RAW photos on Mac and iPad explains the difference. If you work in Lightroom Classic, see geotagging with a GPX tracklog in Lightroom.
The one thing that trips people up: time zones
GPX timestamps are in UTC. Most cameras record the local time on their clock and, unless they are fairly recent, not which timezone that clock was set to. If the photo timezone is wrong, every match is off by whole hours, which usually means the photos land on the wrong part of the track or do not match at all.
EasyGeotag uses the timezone the camera embedded when there is one. For photos without it, set Photo timezone to Automatic — from track, which works it out from where the track is, or choose the zone you were shooting in.
No GPS device? Use your iPhone
If you do not carry a logger, the iPhone app records the track for you while the phone sits in your pocket, and the trip appears on your Mac and iPad over iCloud. Recording is free. See using your iPhone as a GPS logger for your camera.
Recording on iPhone is free and unlimited, with five free photos per Apple Account on Mac and iPad. Requires macOS 15, iPadOS 18 or iOS 18.