Documentation Index
Fetch the complete documentation index at: https://photocli.com/llms.txt
Use this file to discover all available pages before exploring further.
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
File system path where the CSV report will be written. Include the file name and
.csv extension — for example, photo-info.csv.Optional
File system path to read photos from. Defaults to the current working directory. No files in this path are modified.
Scan all subfolders recursively. Without this flag only the top-level input folder is scanned. No extra value required — pass the flag alone.
Action to take when a photo has no EXIF date taken.
| Name | Value |
|---|---|
| Continue (default) | 0 |
| PreventProcess | 1 |
Action to take when a photo has no GPS coordinate.
| Name | Value |
|---|---|
| Continue (default) | 0 |
| PreventProcess | 1 |
Action to take when a file cannot be parsed as a valid photo format.
| Name | Value |
|---|---|
| Continue (default) | 0 |
| PreventProcess | 1 |
Action to take when any photo has missing reverse geocode information.
| Name | Value |
|---|---|
| Continue (default) | 0 |
| PreventProcess | 1 |
Third-party provider used to resolve GPS coordinates into a human-readable address. See reverse geocoding overview for provider setup and API key details.
| Name | Value |
|---|---|
| Disabled (default) | 0 |
| BigDataCloud | 1 |
| OpenStreetMapFoundation | 2 |
| GoogleMaps | 3 |
| LocationIq | 5 |
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.Space-separated BigDataCloud admin level numbers. Required when
--reverse-geocode is BigDataCloud.API key for BigDataCloud. Also configurable via the
PHOTO_CLI_BIG_DATA_CLOUD_API_KEY environment variable.Space-separated Google Maps address component types. Required when
--reverse-geocode is GoogleMaps.API key for Google Maps. Also configurable via the
PHOTO_CLI_GOOGLE_MAPS_API_KEY environment variable.API key for LocationIq. Also configurable via the
PHOTO_CLI_LOCATIONIQ_API_KEY environment variable.Bypass the free-tier rate limit when using LocationIq with a paid license.
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:| Column | Description |
|---|---|
PhotoPath | Absolute path to the source photo file |
PhotoNewPath | Empty for info — only populated by copy |
PhotoDateTaken | EXIF date and time the photo was taken |
ReverseGeocodeFormatted | Human-readable address built from the configured provider and properties |
Latitude | GPS latitude extracted from EXIF |
Longitude | GPS longitude extracted from EXIF |
PhotoTakenYear | Year component of the taken date |
PhotoTakenMonth | Month component of the taken date |
PhotoTakenDay | Day component of the taken date |
PhotoTakenHour | Hour component of the taken date |
PhotoTakenMinute | Minute component of the taken date |
PhotoTakenSeconds | Seconds component of the taken date |
Address1–Address8 | Individual address components returned by the reverse geocode provider |
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.