CSV import for batch photo geotagging

Prepare a CSV with exact filenames and decimal GPS coordinates, review batch imports, and understand the exported verification report.

When to use CSV import

CSV coordinate import is a Pro feature for batches where photos need different GPS locations. Upload the images first, then import the CSV to set per-file targets. Importing targets does not write metadata to an output file; export is a separate step.

If every photo uses the same location, enter coordinates or choose a map pin and apply GPS to all. Use CSV when locations have already been prepared for individual filenames.

Download a working coordinate CSV

filename,latitude,longitude
geotag-photos-metadata-test.jpg,40.758896,-73.98513
geotag-photos-metadata-test.png,51.500729,-0.124625
geotag-photos-metadata-test.webp,48.85837,2.294481

This example matches the three synthetic JPEG, PNG, and WebP filenames in our public metadata test kit. Use the source files from that kit or replace each filename with the exact name of your uploaded photo.

The coordinates below are example targets. Review each location before export and do not treat them as evidence of where a photo was taken.

Accepted columns and exact filename matching

Use filename, latitude, and longitude headers. The aliases file, lat, and lng are also accepted. Filenames must match exactly, including capitalization and extension. For duplicate matching filenames, the first matching row is used.

An unmatched file keeps its existing target. Import applies coordinate columns only: title, description, artist, copyright, and other extra columns are ignored. Set descriptive metadata separately in the workspace.

ColumnAccepted aliasExample
filenamefilegeotag-photos-metadata-test.jpg
latitudelat40.758896
longitudelng-73.98513

Validate coordinates before export

Use decimal coordinates with a dot as the decimal separator and a minus sign for south or west. Latitude must be between -90 and 90; longitude must be between -180 and 180.

Do not leave coordinate cells blank. The current importer converts blank numeric cells to zero, which can place a target far from the intended location. Non-numeric values do not apply new targets. Review the file list and map before exporting.

IssueWhat happensWhat to check
Name or extension differsNo matching row is appliedUse the complete uploaded filename
Duplicate filenamesFirst matching row winsKeep one row per file
Blank numeric cellMay become zeroFill both decimal coordinates explicitly
Latitude and longitude swappedMay identify the wrong locationCheck the map and coordinate ranges
Extra metadata columnsIgnored by coordinate importEdit descriptive metadata in the workspace

Understand the verification report CSV

The report contains filename, format, size, lat, lng, compatibility, and status. A pending_export row describes an assigned target before output has been produced. A gps_written row records that the app produced an output for that file; it is not an independent scan of a platform's published copy.

The downloadable report example intentionally uses pending_export for all three synthetic files. Keep the import CSV and actual export report with the delivered files. Reopen exported images in the GPS checker, then separately inspect any published or re-encoded copy.

Primary references