tagpix — Combine Your Photos for Easy Access
tagpix is a photo organizer that merges and labels photos for easier viewing and archiving. With tagpix, access to a folder, and a few simple commands, control of your photo archives remains with you, not a proprietary, closed program or device.Overview
This portable Python command-line program runs on both Python 3.X and 2.X, and works on all major platforms, including Windows, Mac OS, Linux, and Android. Its main role is to merge the content of disparate photo collections spread across multiple folders.
If your digital photo collection has become scattered over many folders; uses filenames that are not unique because of their origin on multiple cameras; hosts modification dates that reflect retouches instead of events; or contains arbitrary duplicates, tagpix may be the photo-organizing tool you've been looking for. Running it on your photo folders transforms them into a simple, uniform format that's ideal for both viewing and archiving, and as private as the device on which it is stored.
tagpix transfers all the items in an entire source-folder tree to either a single flat folder or group-by-year subfolders, and renames the items transferred with date-taken or date-modified prefixes to make them unique. Date taken is extracted from standard photo-file Exif metadata tags or Android filename; any non-photo items (movies and other) are isolated in their own folders; files may be transferred by moves or copies per user settings; and duplicate content and filenames are found and resolved automatically.
This program is a source-code script run from a console, where all inputs are prompted. You can use it to create a new archive (e.g., for burning to optical disk), extend an existing one (e.g., for viewing), or do both for new photos with an extra post-run merge (e.g., by file-explorer GUI). However it is used, tagpix provides fast, convenient, and private access to all the photos you've shot over multiple years on multiple cameras.
Resources
For complete usage coverage and version details, see the User Guide listed below. For license and usage cautions, see the documentation string at the top of the script file, also below.
Docs:
- User Guide — the full story on tagpix roles and usage (HTML)
Code:
- tagpix.py — the main script's code and program docs (709 lines)
- user_configs.py — options beyond console inputs (119 lines)
- _drop-redundant-dates.py — utility for pre-2.2 users (192 lines)
Screenshots:
- Flat Folders — merging items to flat folders
- Grouped by year — grouping items in year subfolders
- More grouped — the full items-by-year scene
- Console-run capture — user inputs and run messages
- IDE-run capture — running tagpix in PyEdit GUI
- Android dates — 2.2 uses and drops filename dates
Examples:
- Interaction — demo-run logs, inputs, and results
- Screenshots — result trees and console captures
Download
Use the following to fetch tagpix, or view its unzipped content.
- tagpix.zip — with all code and examples
- Unpacked content — zipfile content online
This program was last changed: September 29, 2020.
Its latest update silences a harmless-but-confusing Pillow DOS warning (and prevents a rarer error) for large images. See all its version history. Tagpix was also patched trivially in December 2024 to avoid a new string-escape error in Python 3.13.
Related programs: for Python-coded options for viewing and publishing your photo folders, try the thumbspage web-page generator, and the PyPhoto GUI in PyGadgets. For more code examples, see the programs page.
Defunct app: an experimental app for Mac OS was withdrawn, but its web page has Pillow install tips.
