Windows desktop app · v3.1
Every photo, catalogued.
Every duplicate, found.
PhotoCatalog scans a folder — or a whole drive — of photos, reads the EXIF and XMP metadata out of every file, and hands you back a single Excel workbook you can sort, filter, and search. Point it at a messy decades-old archive and it can also find the exact duplicates and reorganize everything into a clean, dated folder structure.
Free to download. No account, no cloud upload — everything runs locally on your machine.
Features
Six drawers, one catalog.
Everything PhotoCatalog does is built around one Excel workbook — every scan, hash, and rename decision lands in a column you can sort and filter yourself.
Recursive metadata extraction
Reads EXIF, XMP, and IPTC from JPEG, TIFF, PNG, HEIF/HEIC, WebP, and seven RAW formats. Malformed EXIF from old cameras or scanners no longer aborts a run — the field is left blank and flagged instead.
Smart-hash detection
Byte-exact MD5 matching that skips any file with a size no other file shares — mathematically impossible to be a duplicate. Typically cuts hashing I/O by 80–95% on a real library.
Copy into a clean layout
Pick a destination and a Year / Month / Day folder format, and PhotoCatalog copies every photo to its computed path — sidecar files (RAW+JPG, .xmp, .aae) follow the primary automatically.
Undo, always
Every copy, move, or delete writes a rollback journal first. One button reverses the most recent operation — no need to trust a preview and hope.
A real Excel workbook
Formatted Catalog and Summary sheets, frozen headers, auto-filter, sortable datetime columns, and color-coded flags for warnings and duplicate groups. No proprietary viewer required.
Built for big drives
Every long operation runs on a background thread with a live progress bar and streaming log, and can be cancelled mid-run without corrupting rows already written.
How it works
One pipeline, four stages.
The app's buttons enable in this order — each stage's output is what the next one needs.
Pre-Scan
A fast filesystem-only pass. Counts folders, files, and supported images by extension so you can sanity-check the folder before committing to a full run.
Catalog
Extracts EXIF/XMP/IPTC from every photo and writes the Excel workbook — one row per photo, camera data, GPS, exposure, and more.
Detect duplicates
Filename+size or MD5 hash matching groups byte-identical files and marks a keeper in each group, right in the workbook.
Reorganize
Copy to a dated destination, move or delete non-keepers, and undo any of it later from the rollback journal.
Rename engine
Build filenames from the metadata itself.
Click together variables like date and camera make — or type them — and preview the result before touching a single file on disk.
%Date_YYYY%-%Date_MM%-%Date_DD%_%Camera_Make%_%File_Name%
2026-04-09_Canon_IMG_1234.jpg
Get PhotoCatalog
Download the installer.
The Windows installer bundles everything — no Python, no separate dependencies. It places a shortcut on your Start menu and desktop.
- Windows 10 or 11
- Nothing else to install — everything is bundled
- Runs entirely on your machine — nothing is uploaded
About
Built for a real photo archive.
PhotoCatalog started as a way to make one very large, very messy family photo collection browsable in Excel. It grew into a full scan → detect duplicates → reorganize workflow for anyone who'd rather sort through a spreadsheet than click through folders one photo at a time.
Written in Python and PyQt6 by David Krist. Source and documentation are on GitHub.
Development
Built with Claude.
PhotoCatalog was designed and implemented in close collaboration with Claude, Anthropic's AI assistant — used throughout for architecture discussions, code generation, debugging, and release engineering.
Claude, Anthropic, and the Claude wordmark are trademarks of Anthropic. PhotoCatalog is an independent project that uses Claude as a development tool and is not affiliated with or endorsed by Anthropic.