Geotag · Tool · 01

Geotag photos from a GPX track.

Match each photo's timestamp to your GPS track, preview the pins, then download geotagged copies. Files never leave your device.

Loading tool…
How it works · 02

Timestamps, not guesses

We read DateTimeOriginal from each JPEG, apply your camera→GPS offset, find bracketing track points, and interpolate position by time. Photos outside the track or past the max-gap tolerance stay unmatched — never silently placed.

The timezone problem · 03

Offset is the step forums get wrong

Camera clocks drift and travel across timezones. Set the offset so camera wall-clock lines up with GPS UTC (positive if the camera is behind). Without that, every pin is wrong by hours. Need to fix the timestamps first? Use the camera clock / timezone offset tool, then come back here.

Privacy · 04

Nothing is uploaded

Parsing, matching, and EXIF writing all run in your browser (in a Web Worker so large batches stay responsive). Originals are never modified — you download copies. Already have GPS in EXIF? Map a photo folder to scrub the shoot on a map and export GeoJSON/KML.

FAQ · 05

Common questions

How does geotagging from a GPX track work?
We read DateTimeOriginal from each JPEG, apply your camera→GPS offset, find bracketing track points, and interpolate position by time. Photos outside the track or past the max-gap tolerance stay unmatched — never silently placed.
Why do I need a timezone / camera clock offset?
Camera clocks drift and travel across timezones; GPS tracks are in UTC. Without the offset, every pin is wrong by hours. Use the offset tool first if timestamps need a bulk fix.
What happens to unmatched photos?
They are listed as unmatched. We do not guess a location. Tighten or loosen max-gap, fix the offset, or check that the track covers that shoot.
Are originals uploaded or overwritten?
Neither. Everything runs in your browser. You download geotagged copies; originals are never modified in place. Free batches are JPEG today — RAW/HEIC writing is a later paid path.