A cross-platform desktop app to geotag RAW photos by matching photo timestamps with GPX track data. Perfect for photographers who want to add location data to their photos after a shoot.
- 🖥️ Cross-Platform: Works on macOS, Windows, and Linux
- 📍 Automatic Geotagging: Matches photo timestamps to GPS track points using linear interpolation
- 🗺️ Interactive Map: Visualize GPX tracks and photo locations using Leaflet/OpenStreetMap
- 📷 30+ RAW Formats: Support for ARW, CR2, CR3, NEF, NRW, DNG, ORF, PEF, RAF, RW2, SRW, and more
- 🖼️ Photo Thumbnails: Visual preview in the photo sidebar
- 🎯 Bidirectional Highlighting: Click photos in the list to highlight map markers
- 📊 GPX Track Overlay: See your complete GPS track as a blue polyline on the map
- ⌨️ Keyboard Navigation: Navigate photo list with arrow keys, auto-scrolls to selection
- 🔍 Zoom to Photo: Click any photo to zoom in on its location on the map
- 💾 Lightroom Compatible: Creates XMP sidecars that Lightroom reads automatically
- 🚫 Smart Skip: Photos that already have GPS data are automatically skipped
Get the latest release for your platform:
- macOS:
.dmgfile (Apple Silicon) - Windows:
.exeinstaller - Linux:
.AppImage,.deb, or.rpm
- Download the
.dmgfile - Open the DMG file and drag PicGeo to your Applications folder
- Launch PicGeo from your Applications folder
Set as Default GPX Viewer:
- Right-click any
.gpxfile → "Get Info" → "Open with" → Select PicGeo - Click "Change All..." to apply to all GPX files
- Download the
.exeinstaller - Run the installer
- Launch PicGeo from the Start menu
Set as Default GPX Viewer:
- Right-click any
.gpxfile → "Open with" → "Choose another app" - Select PicGeo and check "Always use this app"
AppImage (Universal):
- Download the
.AppImagefile - Make it executable:
chmod +x PicGeo-*.AppImage - Run:
./PicGeo-*.AppImage
Debian/Ubuntu:
- Download the
.debfile - Install:
sudo dpkg -i picgeo_*.deb - Launch from your applications menu
Fedora/RHEL:
- Download the
.rpmfile - Install:
sudo rpm -i picgeo-*.rpm - Launch from your applications menu
-
Launch PicGeo
-
Drag and drop a GPX file onto the app window, or click to browse
-
PicGeo will automatically:
- Find all RAW files in the same directory as the GPX file
- Match photo timestamps to GPS track points
- Write GPS coordinates to each photo (via exiftool or XMP sidecar)
- Display a map showing your GPX track and photo locations
-
Click the "Photos" button to see the list of processed photos with thumbnails
-
Click any photo in the list to highlight its location on the map
-
Use arrow keys (↑/↓) to navigate the photo list with keyboard
-
Click "Reset view" to return to the full track view
- Parse GPX: Reads GPS track points with UTC timestamps from GPX files
- Read EXIF: Extracts photo capture time from RAW files using exiftool
- Match Timestamps: Finds the GPS track points before and after each photo's time
- Interpolate Position: Calculates the precise location based on time between track points
- Write GPS: Embeds GPS coordinates via exiftool or creates XMP sidecar
PicGeo is designed to work seamlessly with Adobe Lightroom:
- Import photos into Lightroom
- Copy your GPX file to the same folder as your photos
- Double-click the GPX file to open PicGeo
- PicGeo processes all photos and creates XMP sidecar files
- In Lightroom, import GPS data using:
- Metadata > Read Metadata from Files (Ctrl/Cmd + R)
- Right-click folder > Synchronize Folder
- PicGeo creates an
.xmpfile next to each photo (e.g.,DSC00479.xmpforDSC00479.ARW) - The XMP file contains GPS coordinates in Lightroom-compatible format
- If an XMP file already exists, PicGeo preserves all existing Lightroom edits and only adds GPS data
- Lightroom automatically reads XMP sidecars and displays the GPS coordinates in the Map module
Sony (ARW, SRF, SR2), Canon (CR2, CR3, CRW), Nikon (NEF, NRW), Adobe DNG, Olympus (ORF), Pentax (PEF), Fujifilm (RAF), Panasonic (RW2, RWL), Samsung (SRW), Leica (DNG, RWL), Hasselblad (3FR, FFF), Phase One (IIQ), Kodak (KDC), Leaf (MOS), Minolta (MRW), Sigma (X3F), Mamiya (MEF), Polaroid (PXN), Casio (BAY), and generic RAW files.
- macOS: 11 (Big Sur) or later
- Windows: 10 or later
- Linux: Any modern distribution
exiftool (required for writing GPS data to RAW files):
- macOS:
brew install exiftool - Windows: Download from exiftool.org
- Linux: Available via package manager (e.g.,
sudo apt install exiftool)
Without exiftool, PicGeo creates XMP sidecar files (Lightroom compatible).
- GPX timestamps are always in UTC
- RAW photo timestamps are in local time only (no timezone info in EXIF)
PicGeo interprets photo times using your system timezone automatically for accurate matching.
The source code is maintained at: https://github.com/RemoterLabs/PicGeo
Contributions are welcome! Please feel free to submit a Pull Request.
MIT License - see https://github.com/RemoterLabs/PicGeo/blob/main/LICENSE
For issues, feature requests, or contributions, please visit: https://github.com/RemoterLabs/PicGeoReleases/issues