photo-cli info scans photos in a folder, extracts each photo’s EXIF date taken and GPS coordinates, optionally resolves those coordinates to a human-readable address through a reverse geocode provider, and writes all the data to a CSV file. No files are copied or modified. The resulting CSV can be opened in any spreadsheet application or imported directly into Google My Maps or Google Earth for interactive location exploration.
Synopsis
Use cases
- Audit your photo collection to see which photos are missing dates or GPS data.
- Build a spreadsheet of photo locations and dates for personal records.
- Import photo coordinates into Google My Maps to visualize where your photos were taken on an interactive map.
- Import into Google Earth Desktop and export as KMZ/KML for use in Google Earth Web.
Arguments
Required
string
required
File system path where the CSV report will be written. Include the file name and
.csv extension — for example, photo-info.csv.Optional
string
File system path to read photos from. Defaults to the current working directory. No files in this path are modified.
boolean
Scan all subfolders recursively. Without this flag only the top-level input folder is scanned. No extra value required — pass the flag alone.
enum
Action to take when a photo has no EXIF date taken.
enum
Action to take when a photo has no GPS coordinate.
enum
Action to take when a file cannot be parsed as a valid photo format.
enum
Action to take when any photo has missing reverse geocode information.
enum
Third-party provider used to resolve GPS coordinates into a human-readable address. See reverse geocoding overview for provider setup and API key details.
string
Space-separated OpenStreetMap address property names used to build the address string. Required when
--reverse-geocode is OpenStreetMapFoundation or LocationIq. Example: country city town suburb.string
Space-separated BigDataCloud admin level numbers. Required when
--reverse-geocode is BigDataCloud.string
API key for BigDataCloud. Also configurable via the
PHOTO_CLI_BIG_DATA_CLOUD_API_KEY environment variable.string
Space-separated Google Maps address component types. Required when
--reverse-geocode is GoogleMaps.string
API key for Google Maps. Also configurable via the
PHOTO_CLI_GOOGLE_MAPS_API_KEY environment variable.string
API key for LocationIq. Also configurable via the
PHOTO_CLI_LOCATIONIQ_API_KEY environment variable.boolean
Bypass the free-tier rate limit when using LocationIq with a paid license.
string
Language/culture value to get localized address results from the reverse geocode provider. See your provider’s documentation for supported values.
Example
Console output
CSV output columns
The output CSV contains one row per photo with the following columns:Google Maps and Google Earth integration
The CSV output fromphoto-cli info (or photo-cli copy) can be imported directly into Google’s mapping tools to visualize your photo locations on an interactive map.
Google My Maps
- Open Google My Maps and create a new map.
- On a layer, click Import and upload your CSV file.
- Select
LatitudeandLongitudeas the location columns, and choose a column such asReverseGeocodeFormattedas the marker title.
- Install Google Earth Desktop.
- From the File menu, choose Import and select your CSV file.
- Map the latitude/longitude columns when prompted.