> ## 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: Organize Photos by Date and GPS Location

> `photo-cli` is a cross-platform command-line tool that extracts when and where (reverse geocode) your photographs are taken, [archive](/commands/archive) or [copy](/commands/copy) into a new organized folder (not modifying source folder) with various [folder](http://localhost:3000/reference/arguments#folder-organization-copy-only) & [file naming](reference/arguments#file-naming-copy-only) strategies with an album support to categorize, [list & view](/commands/list) easily, with a built-in secure & isolated [MCP server](/commands/mcp) (stdio) for AI assistants.

<div className="not-prose" style={{ display: 'flex', flexWrap: 'wrap', gap: '6px' }}>
  <a href="https://www.nuget.org/packages/photo-cli/">
    <img src="https://img.shields.io/nuget/v/photo-cli?label=stable&color=blue" />
  </a>

  <a href="https://www.nuget.org/packages/photo-cli/">
    <img src="https://img.shields.io/nuget/dt/photo-cli" />
  </a>

  <a href="https://hub.docker.com/r/photocli/photocli">
    <img src="https://img.shields.io/docker/v/photocli/photocli?label=docker&logo=docker&logoColor=white" />
  </a>

  <a href="https://github.com/photo-cli/homebrew-photo-cli">
    <img src="https://img.shields.io/nuget/v/photo-cli?label=homebrew&color=yellow" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=coverage" />
  </a>

  <a href="https://github.com/photo-cli/photo-cli/actions/workflows/CI.yml">
    <img src="https://github.com/photo-cli/photo-cli/actions/workflows/CI.yml/badge.svg" />
  </a>

  <a href="https://github.com/photo-cli/photo-cli/actions/workflows/stable.yml">
    <img src="https://github.com/photo-cli/photo-cli/actions/workflows/stable.yml/badge.svg" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=alert_status" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=reliability_rating" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=sqale_rating" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=security_rating" />
  </a>

  <a href="https://sonarcloud.io/summary/new_code?id=photo-cli_photo-cli">
    <img src="https://sonarcloud.io/api/project_badges/measure?project=photo-cli_photo-cli&metric=bugs" />
  </a>

  <a href="https://github.com/photo-cli/photo-cli/blob/main/LICENSE">
    <img src="https://img.shields.io/badge/license-Apache%202-blue.svg" />
  </a>
</div>

No accounts, no subscriptions, no vendor lock-in. All photo metadata is stored on local SQLite for archive operation and CSV for others.

## What `photo-cli` does

photo-cli extracts two pieces of information from each photo:

* **When** — the taken date stored in EXIF metadata by your camera or phone
* **Where** — the GPS coordinates, resolved to a human-readable address using a reverse geocode provider of your choice

It uses these to copy your photos into a new folder with structured names like `2024.03.15_14.22.01-France-Paris.jpg`, leaving your originals untouched.

## Sample Before & After `photo-cli`

A folder of 21 unsorted files becomes a clean, dated hierarchy after running a single command of `archive` or `copy`.

<Tabs>
  <Tab title="Before">
    ```text theme={null}
    ├── DSC_5727.jpg
    ├── GOPR6742.jpg
    ├── Italy album
    │   ├── DJI_01732.jpg
    │   ├── DJI_01733.jpg
    │   ├── DSC00001.JPG
    │   ├── DSC03467.jpg
    │   ├── DSC_1769.JPG
    │   ├── DSC_1770.JPG
    │   ├── DSC_1770_(same).jpg
    │   ├── DSC_1771.JPG
    │   ├── GOPR7496.jpg
    │   ├── GOPR7497.jpg
    │   ├── IMG_0747.JPG
    │   ├── IMG_1979.HEIC
    │   ├── IMG_1979.mov
    │   ├── IMG_1979.xmp
    │   ├── IMG_2371.jpg
    │   └── IMG_O1979.aae
    └── Spain Journey
        ├── DSC_1807.jpg
        ├── DSC_1808.jpg
        └── IMG_5397.jpg

    2 directories, 21 files
    ```
  </Tab>

  <Tab title="After photo-cli archive">
    ```text theme={null}
    ├── 2005
    │   ├── 08
    │   │   └── 13
    │   │       └── 2005.08.13_09.47.23-5842c73cfdc5f347551bb6016e00c71bb1393169.jpg
    │   └── 12
    │       └── 14
    │           └── 2005.12.14_14.39.47-03cb14d5c68beed97cbe73164de9771d537fcd96.jpg
    ├── 2008
    │   ├── 07
    │   │   └── 16
    │   │       └── 2008.07.16_11.33.20-90d835861e1aa3c829e3ab28a7f01ec3a090f664.jpg
    │   └── 10
    │       └── 22
    │           ├── 2008.10.22_16.28.39-5d66eec547469a1817bda4abe35c801359b2bb55.jpg
    │           ├── 2008.10.22_16.29.49-629b0b141634d6c0906e49af448bec8d755ba32c.jpg
    │           ├── 2008.10.22_16.38.20-620d23336a12ab54f9f0190fe93960a4dba2df59.jpg
    │           ├── 2008.10.22_16.43.21-3b0a3215b4f66d7ff4804dd223f192c21aee71bc.jpg
    │           ├── 2008.10.22_16.44.01-d470205a1d331a9d3765b3762b7c954bb8efc6ea.jpg
    │           ├── 2008.10.22_16.46.53-f670f2bb6c54898894b06b083185b05086bd4e6e.jpg
    │           ├── 2008.10.22_16.52.15-6b89a245809031ecc47789cdeaa332545330fc39.jpg
    │           ├── 2008.10.22_16.55.37-dd42edcde2433a7df4a3d67bf61944a20884da89.jpg
    │           └── 2008.10.22_17.00.07-a0ab699f5f99fce8ff49163e87c7590c2c9a66eb.jpg
    ├── 2012
    │   └── 06
    │       └── 22
    │           └── 2012.06.22_19.52.31-bb649a18b3e7bb3df3701587a13f833749091817.jpg
    ├── 2015
    │   └── 04
    │       └── 10
    │           ├── 2015.04.10_20.12.23-3907fc960f2873f40c8f35643dd444e0468be131.jpg
    │           └── 2015.04.10_20.12.23-9f4e6d352ec172e1059571250655e376769080fe.jpg
    ├── 2025
    │   └── 06
    │       └── 03
    │           ├── 2025.06.03_13.53.36-8a45af72730474e22582afbe72f53685d705a72c.heic
    │           └── 2025.06.03_13.53.36-8a45af72730474e22582afbe72f53685d705a72c.mov
    ├── no-photo-taken-date
    │   └── cf756397cc3ca81b2650c8801fd64e172504015a.jpg
    └── photo-cli.sqlite3

    20 directories, 19 files
    ```
  </Tab>

  <Tab title="After photo-cli copy (one of the many options)">
    ```text theme={null}
    ├── 2005.08.13_09.47.23-Kenya-Barut ward.jpg
    ├── 2005.12.14-2025.06.03-Italy album
    │   ├── 2005.12.14_14.39.47-Italia-Firenze.jpg
    │   ├── 2008.10.22_16.28.39-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.29.49-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.38.20-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.43.21-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.44.01-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.46.53-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.52.15-Italia-Arezzo.jpg
    │   ├── 2008.10.22_16.55.37-Italia-Arezzo.jpg
    │   ├── 2008.10.22_17.00.07-Italia-Arezzo-1.jpg
    │   ├── 2008.10.22_17.00.07-Italia-Arezzo-2.jpg
    │   ├── 2025.06.03_13.53.36-Italia-Venezia.heic
    │   └── 2025.06.03_13.53.36-Italia-Venezia.mov
    ├── 2012.06.22_19.52.31-United Kingdom.jpg
    ├── 2015.04.10-2015.04.10-Spain Journey
    │   ├── 2015.04.10_20.12.23-España-Madrid-1.jpg
    │   └── 2015.04.10_20.12.23-España-Madrid-2.jpg
    ├── Italy album
    │   └── no-address
    │       └── IMG_2371.jpg
    ├── Spain Journey
    │   └── no-address-and-no-photo-taken-date
    │       └── IMG_5397.jpg
    ├── photo-cli-report.csv
    └── sha1.lst

    6 directories, 21 files
    ```
  </Tab>
</Tabs>

## What's next

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/quickstart">
    Run your first photo-cli command and see results immediately.
  </Card>

  <Card title="Features Explained" icon="list-check" href="/features-explained">
    Explore all commands: copy, archive, list, info, address, settings, and mcp.
  </Card>

  <Card title="Installation" icon="download" href="/installation">
    Install photo-cli on macOS, Windows, or Linux in under a minute.
  </Card>

  <Card title="Reverse Geocoding" icon="location-dot" href="/reverse-geocoding/overview">
    See real before-and-after examples for common organization strategies.
  </Card>
</CardGroup>
