Want to visualize GPS data from photos on a map? GPS-enabled images store location details inside their EXIF metadata, but these coordinates often use the DMS format and cannot be plotted directly. To create a useful photo GPS map, you must extract the EXIF GPS coordinates, convert them to decimal degrees, and export the results as KML, GPX, or CSV.
This guide explains how to map geotagged photos using an EXIF map viewer, Google Earth, Google My Maps, and QGIS. You’ll learn how to perform batch photo mapping, create a GPS heatmap from photos, organize images by location and date, and remove sensitive GPS metadata before sharing your files publicly.
Quick Answer : To visualize GPS data from photos on a map: 1) Extract GPSLatitude/GPSLongitude from EXIF (online viewer or ExifTool), 2) Convert DMS to decimal degrees, 3) Export as KML or GPX or CSV, 4) Open in Google Earth (KML), Google Maps (My Maps → Import CSV/KML), or QGIS (Add Delimited Text Layer → Heatmap). For hundreds of photos, export once as CSV/KML and style as a clustered heatmap. Remove GPS with a remover before publishing if privacy matters.
Why GPS in photos is not ready to plot
EXIF GPS is stored as three rationals per coordinate (degrees / minutes / seconds) plus a hemisphere reference (N/S, E/W) and uses the WGS-84 datum. Example: GPSLatitude 48/1, 51/1, 24/1 + GPSLatitudeRef N = 48° 51′ 24″ N. Mapping tools need decimal degrees: 48.856667. Without conversion, pasting the raw EXIF value into Google Maps fails.
In brief: EXIF stores DMS; maps need decimal. Conversion is the bridge.

What you need before visualizing
- Photos that actually contain GPS — many phones geotag by default, most DSLRs do not without a GPS module or phone sync
- A viewer/extractor that shows GPS IFD (ExifInjector, ExifTool, or OS properties)
- A map target: Google Earth (best for KML), Google My Maps (easy CSV/KML import), QGIS (best for heatmaps/large batches)
Check one sample photo first. If GPSLatitude is missing, the batch will be empty — enable location tagging at capture time for future shoots.
Step 1 — Extract GPS from EXIF
Option A — Online (no install, 1–50 photos)
- Open ExifInjector EXIF Viewer
- Drop photos (drag & drop, bulk supported)
- Read GPSLatitude, GPSLongitude, GPSAltitude, GPSImgDirection and the map preview. Copy the decimal values or export CSV if available.
Option B — ExifTool (bulk, 50–10,000 photos)
exiftool -csv -GPSLatitude -GPSLongitude -GPSAltitude -CreateDate -FileName -r ./photos > gps.csv
Add -n to get decimal degrees directly: exiftool -n -csv -GPSLatitude -GPSLongitude ... (avoids DMS). Filter rows with empty GPS to find non-geotagged shots.
Step 2 — Convert DMS to decimal (if needed)
Decimal = Degrees + Minutes/60 + Seconds/3600 — then apply sign: N/E positive, S/W negative.
| DMS | Decimal | Note |
|---|---|---|
| 48°51′24″ N, 2°21′08″ E | 48.856667, 2.352222 | Paris — N/E positive |
| 34°03′08″ S, 18°25′26″ E | -34.052222, 18.423889 | S negative |
| 40°42′46″ N, 74°00′21″ W | 40.712778, -74.005833 | W negative |
Most viewers do this automatically. If yours shows only DMS, paste into ExifInjector or use ExifTool -n.
Step 3 — Export as KML, GPX or CSV
| Format | Best For | How to Create |
|---|---|---|
| KML | Google Earth, photo popups with thumbnails | Viewer export KML, or convert CSV → KML (GPSBabel, QGIS) |
| GPX | GPS devices, tracks, waypoint sharing | GPSBabel: gpsbabel -i csv -f gps.csv -o gpx -F photos.gpx |
| CSV | Google My Maps, QGIS, spreadsheets, heatmaps | ExifTool CSV directly; columns: FileName, Latitude, Longitude, Date |
Include FileName and CreateDate in the export — essential for filtering by date and linking back to the original image.
Step 4 — Plot on a map
Google Earth (KML)
File → Open → select photos.kml. Each photo appears as a placemark; click for filename/date/thumbnail if embedded. Style by folder to cluster by day or camera.
Google My Maps (CSV/KML)
mymaps.google.com → Create New Map → Import → upload CSV/KML. Choose Latitude/Longitude columns. Add image URLs as a column to show thumbnails in the info window.
QGIS (CSV → Heatmap, large batches)
Layer → Add Delimited Text Layer → select CSV → X=Longitude, Y=Latitude, CRS EPSG:4326. Then Properties → Symbology → Heatmap. Great for 1,000+ points to see shooting hotspots.
Batch heatmaps and filtering tips
- Filter by date: add CreateDate to CSV and filter in My Maps/QGIS to animate a trip day by day
- Cluster markers: in My Maps use 'Group places by' or in QGIS use Point Cluster renderer for dense city shoots
- Remove bad fixes: sort by GPSDOP / GPSHPositioningError if present; drop points with DOP > 5 or indoor shots
- Timezone: EXIF CreateDate has no timezone; GPSDateStamp is UTC — use it to sequence correctly across zones
Accuracy and privacy — read before publishing
Phone GPS is typically 3–10 m outdoors, worse indoors. EXIF stores WGS-84 only; altitude is often less accurate. Publishing a KML of your home, kids' school, or client locations leaks sensitive data. Strip GPS with ExifInjector Remover or ExifTool (-gps:all=) before sharing. Keep the original with GPS for your archive; publish the cleaned copy.
Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| No GPS fields shown | Geotagging off or DSLR without GPS | Enable location on phone; sync via GPX track for DSLR |
| Points in the ocean / wrong hemisphere | S/W sign missing | Apply negative for S and W; check GPSLatitudeRef |
| KML shows nothing in Earth | Wrong CRS or lat/lon swapped | Verify X=Longitude, Y=Latitude, CRS 4326 |
| Only a few photos plot | Many shots lack GPS | Filter CSV for empty lat/lon; separate non-geotagged set |
FAQ
Can I visualize GPS from iPhone photos?
Yes — iPhone geotags by default if Location Services → Camera is enabled. Export via ExifInjector or ExifTool and plot as KML/CSV.
What is the difference between KML and GPX for photos?
KML is best for Google Earth with rich popups (photos, dates). GPX is best for GPS devices and track exchange. CSV is most flexible for My Maps and QGIS.
How do I make a heatmap from 5,000 photos?
Export as CSV with decimal lat/lon, load into QGIS, and use Heatmap symbology. Adjust radius to highlight hotspots.
Will visualizing GPS modify my photos?
No — reading and exporting KML/CSV is non-destructive. Only removers or editors that write EXIF modify files.
How do I hide my home location before sharing a map?
Delete or offset home points in the CSV/KML before publishing, or strip GPS from the shared photos. Keep the originals private.
