How to Extract Geolocation Metadata from Photos
Every photo your smartphone takes embeds GPS coordinates accurate to a few meters. This guide covers how to read that geolocation data, extract it in bulk from hundreds of photos, convert coordinates to street addresses, and manage location metadata across teams and platforms.
What Is Geolocation Metadata in Photos?: geolocation metadata extraction from photos
Geolocation metadata is GPS coordinate data (latitude, longitude, altitude) embedded in photo EXIF data by smartphones and GPS-enabled cameras. When you take a photo with an iPhone or Android device, the camera app records your exact position and writes it into the image file's EXIF (Exchangeable Image File Format) header.
This data typically includes:
- Latitude and longitude in degrees, minutes, and seconds
- Altitude above sea level (in meters)
- GPS timestamp showing when the location fix was acquired
- Direction the camera was facing (on newer devices)
- Speed if the device was moving
Modern iPhones embed GPS coordinates accurate to within 3 to 5 meters in open sky conditions, using a combination of GPS satellites, Wi-Fi positioning, and cell tower triangulation. Android accuracy varies by manufacturer but generally falls in the same range when all location services are active.
Not every photo contains this data. Geolocation is only recorded when location services are enabled, the camera app has location permission, and the device can acquire a GPS signal. Indoor photos, photos from cameras without GPS, and photos from devices with location services disabled will have empty GPS fields.
Helpful references: Fast.io Workspaces, Fast.io Collaboration, Fast.io AI, and Document Data Extraction.
How to Extract GPS Data from a Single Photo
The simplest way to check a photo's GPS data depends on your operating system.
Windows
Right-click the image file, select Properties, then click the Details tab. Scroll down to the GPS section. You'll see latitude, longitude, and altitude if the photo was geotagged.
macOS
Open the image in Preview, then press Cmd+I (or go to Tools > Show Inspector). Click the GPS tab to see coordinates and a map pin showing where the photo was taken.
iPhone (iOS Photos)
Open the photo, swipe up to see details, and tap the map. iOS shows the location name and a map preview. For exact coordinates, share the photo to the Files app and use the info panel.
Android (Google Photos)
Open the photo in Google Photos and tap the three-dot menu, then Details. The location section shows coordinates and a map if GPS data exists.
Online EXIF Viewers
If you want to check a photo without installing anything, several free browser tools work well:
- Pic2Map uploads your photo and plots its GPS coordinates on an interactive map
- Jimpl shows full EXIF data including camera settings, GPS, and timestamps
- PixelPeeper displays camera settings and GPS location with a clean interface
These online tools process the file in your browser or on their server. Be aware that uploading sensitive photos to third-party services means those services can access the image and its metadata.
Bulk Extraction from Hundreds of Photos
Checking one photo at a time is fine for a quick look. When you need GPS data from an entire photo library, folder, or project archive, you need command-line or batch tools.
ExifTool (Command Line)
ExifTool by Phil Harvey is the standard tool for reading and writing metadata across virtually every image format. It handles JPEG, PNG, HEIC, RAW formats (CR2, NEF, ARW), TIFF, and even video files.
Extract GPS coordinates from every image in a folder:
exiftool -gpslatitude -gpslongitude -gpsaltitude -filename /path/to/photos/
Export to CSV for use in spreadsheets or mapping tools:
exiftool -csv -gpslatitude -gpslongitude -filename /path/to/photos/ > locations.csv
ExifTool outputs coordinates in degrees-minutes-seconds by default. For decimal degrees (which most mapping APIs expect), add the -n flag:
exiftool -n -gpslatitude -gpslongitude -filename /path/to/photos/
Python with Pillow
For programmatic extraction in a larger workflow, Python's Pillow library reads EXIF data:
from PIL import Image
from PIL.ExifTags import TAGS, GPSTAGS
def get_gps(image_path):
img = Image.open(image_path)
exif = img._getexif()
if not exif:
return None
gps_info = {}
for tag_id, value in exif.items():
tag = TAGS.get(tag_id, tag_id)
if tag == "GPSInfo":
for gps_tag in value:
gps_info[GPSTAGS.get(gps_tag, gps_tag)] = value[gps_tag]
return gps_info
This returns a dictionary with keys like GPSLatitude, GPSLongitude, GPSAltitude, and GPSLatitudeRef (N/S). You'll need to convert the degree-minute-second tuples to decimal for most APIs.
GUI Options
If command-line tools aren't your preference:
- GeoSetter (Windows) displays photos on a map and lets you edit GPS data in batch
- digiKam (cross-platform) includes a geolocation editor with map view for managing large photo libraries
- Photo GPS Extractor extracts coordinates and displays them on OpenStreetMap
Keep Your Geotagged Photos Organized and Secure
Fast.io workspaces preserve original photo metadata, index files for AI-powered search, and let you control exactly who can access and download your files. 50 GB free, no credit card required. Built for geolocation metadata extraction from photos workflows.
Converting Coordinates to Street Addresses
Raw GPS coordinates like 40.7128, -74.0060 aren't useful in reports or databases. Reverse geocoding converts those numbers into human-readable addresses.
Free Reverse Geocoding APIs Nominatim (OpenStreetMap)
Free, no API key required for low-volume use. Returns structured address data:
https://nominatim.openstreetmap.org/reverse?lat=40.7128&lon=-74.0060&format=json
Rate limit: 1 request per second. Fine for small batches, too slow for thousands of photos.
Geoapify
Offers 3,000 free requests per day (about 90,000 per month). Returns detailed address components including house number, street, postcode, city, and country. Supports batch processing.
Google Geocoding API
The most widely used option, with high accuracy and good coverage. Free tier allows 40,000 requests per month. Returns formatted addresses, place IDs, and address components.
Batch Reverse Geocoding with ExifTool and a Script
A practical workflow for converting an entire photo folder to addresses:
- Extract all coordinates with ExifTool to CSV
- Read the CSV in Python or any scripting language
- Call a reverse geocoding API for each coordinate pair
- Merge the address data back into your spreadsheet
import csv
import requests
import time
with open("locations.csv") as f:
reader = csv.DictReader(f)
for row in reader:
lat = row["GPSLatitude"]
lon = row["GPSLongitude"]
resp = requests.get(
f"https://nominatim.openstreetmap.org/reverse?lat={lat}&lon={lon}&format=json"
)
address = resp.json().get("display_name", "Unknown")
print(f"{row['FileName']}: {address}")
time.sleep(1) # respect rate limit
For larger datasets, Geoapify and Google both support batch endpoints that process hundreds of coordinates in a single request.
How Platforms Handle Photo GPS Metadata
What happens to your GPS data when you upload a photo depends entirely on the platform. This matters for both privacy and for workflows that depend on location data surviving the upload.
Platforms That Strip GPS Data
Most social media platforms remove EXIF metadata from uploaded photos before making them visible to other users:
- Facebook strips all EXIF data from public uploads, but reads and stores the GPS data server-side for ad targeting before removing it
- Instagram removes all metadata during its image processing pipeline (resize, compress, convert). Like Facebook, it collects location data before stripping it
- Twitter/X strips all EXIF metadata on upload as a stated privacy protection measure
- LinkedIn removes EXIF data from uploaded images
One important caveat: direct messages and file-sharing modes on these platforms may preserve metadata. The stripping typically applies to public feed posts, not all sharing features.
Platforms That Preserve GPS Data
Cloud storage services generally preserve full EXIF data since they store original files:
- Google Drive keeps all metadata intact
- Dropbox preserves original files and metadata
- iCloud maintains EXIF data across synced devices
- Fast.io preserves original file metadata and can auto-index files with Intelligence Mode enabled, making GPS and other metadata searchable across shared workspaces. Metadata Views go further: extract GPS coordinates, camera model, capture dates, and any other EXIF field into a sortable spreadsheet across your entire photo collection, no scripts needed
Email Attachments
Email preserves EXIF data. Photos sent as attachments arrive with full metadata intact. This is a common privacy oversight: forwarding a photo via email shares its exact GPS coordinates.
If your workflow depends on location metadata surviving after upload, use a cloud storage platform rather than a messaging or social media service. For teams working with geotagged photos, Fast.io's workspace model keeps originals intact while letting you share files through branded portals where you control what recipients can access and download.
Map Visualization and Practical Applications
Once you've extracted GPS data from a batch of photos, you can plot them on a map for visual analysis. This is useful for real estate documentation, field surveys, insurance claims, journalism, and travel photography.
Plotting Photos on a Map
Google My Maps accepts CSV imports with latitude and longitude columns. Upload your ExifTool CSV export and it creates a pin for each photo location.
QGIS (free, open-source) handles large datasets with thousands of geotagged points. Import your CSV, add a base map layer, and analyze spatial patterns.
Pic2Map works directly with photos. Upload images and it reads the EXIF GPS data to place them on an interactive map, no CSV conversion needed.
Common Use Cases
Real estate and construction: Document site conditions with geotagged photos. Extraction lets you verify that photos match the claimed property location and create timeline maps of construction progress.
Insurance claims: Adjusters photograph damage at specific locations. Extracting GPS metadata creates a verifiable record tying each photo to an exact position, reducing fraud risk.
Journalism and investigations: Verifying where a photo was actually taken. EXIF GPS data can confirm or contradict claimed photo locations, though metadata can be edited, so it's evidence rather than proof.
Field research: Ecologists, geologists, and surveyors use geotagged photos to document observations. Bulk extraction lets you build spatial databases from thousands of field photos.
Travel and personal archives: Plot your trip photos on a map to create a visual travel journal. Tools like digiKam and Google Photos do this automatically from your library.
Privacy and Security Considerations
GPS metadata in photos creates real privacy risks. Sharing a photo of your home, workplace, or child's school with EXIF data intact reveals those exact locations to anyone who checks the file properties.
Removing GPS Data Before Sharing
On iPhone: Go to Settings > Privacy & Security > Location Services > Camera and set it to "Never" to stop recording GPS in future photos. To strip data from existing photos before sharing, use the share sheet's Options button and toggle off Location.
On Android: Open Camera settings and disable "Store location" or "Geo tags" (wording varies by manufacturer). For existing photos, use ExifTool or a metadata cleaning app.
With ExifTool (batch removal):
exiftool -gps:all= /path/to/photos/
This removes all GPS tags from every image in the folder while preserving other EXIF data like camera settings and timestamps.
When to Keep vs. Remove Location Data Keep GPS metadata when the location is part of the photo's value: real estate listings, site documentation, field research, asset management. Remove it when sharing personal photos publicly, posting to forums, or sending images where the location is irrelevant or sensitive.
For organizations managing large photo collections, the decision isn't binary. You may need location data preserved in your internal archive but stripped from files shared externally. A workspace-based approach lets you keep originals with full metadata in a controlled environment and share processed copies through separate channels. Fast.io's granular permissions let you control who sees what at the workspace, folder, and file level, so internal teams access original geotagged files while external recipients get only what you choose to share. Metadata Views can also help you audit which photos contain GPS data across an entire collection by extracting location fields into a filterable grid, making it easy to identify files that need stripping before external sharing.
Frequently Asked Questions
Can you find the location of a photo from its metadata?
Yes, if the photo was taken with a GPS-enabled device (like a smartphone) that had location services active. Open the file properties (Details tab on Windows, Inspector on macOS) and look for GPS latitude and longitude values. You can enter those coordinates into Google Maps or any mapping service to see the exact location.
How do I extract GPS data from iPhone photos?
Open the photo in the iOS Photos app and swipe up to see a map of where it was taken. For exact coordinates, open the image in macOS Preview and press Cmd+I, then check the GPS tab. For bulk extraction, use ExifTool on the command line: exiftool -gpslatitude -gpslongitude -csv /path/to/photos/ > locations.csv
Do all photos have geolocation metadata?
No. GPS data is only embedded when three conditions are met: the device has a GPS receiver, location services are enabled for the camera app, and the device can acquire a satellite signal. Photos from older digital cameras without GPS, screenshots, photos taken with location services off, and photos downloaded from social media (which strip EXIF data) will not contain GPS coordinates.
How accurate is photo GPS metadata?
Smartphone GPS metadata is typically accurate to 3 to 5 meters in open sky conditions. iPhones use a combination of GPS satellites, Wi-Fi positioning, and cell towers to achieve this accuracy. In dense urban areas with tall buildings, accuracy may drop to 10 to 15 meters due to signal reflection. Indoor photos may have poor accuracy or no GPS data at all.
Does sharing photos on social media expose my location?
Most major platforms strip EXIF metadata from public posts. Facebook, Instagram, Twitter/X, and LinkedIn all remove GPS data from photos in your feed. However, direct messages, email attachments, and cloud storage links typically preserve full metadata. Always check before sharing sensitive photos through channels that keep original files.
Can GPS metadata in photos be faked or edited?
Yes. Tools like ExifTool can write arbitrary GPS coordinates to any image file. This means EXIF GPS data is useful evidence but not definitive proof of location. For forensic or legal purposes, GPS metadata should be corroborated with other evidence like cell tower logs, witness accounts, or timestamp analysis.
What is the best tool for bulk GPS extraction from photos?
ExifTool is the industry standard. It's free, open-source, runs on Windows, macOS, and Linux, and handles every major image format including JPEG, HEIC, RAW, and TIFF. A single command can extract GPS data from thousands of photos and export to CSV for use in spreadsheets or mapping tools.
Related Resources
Keep Your Geotagged Photos Organized and Secure
Fast.io workspaces preserve original photo metadata, index files for AI-powered search, and let you control exactly who can access and download your files. 50 GB free, no credit card required. Built for geolocation metadata extraction from photos workflows.