GalleryID Desktop does the ingest, culling and IPTC work you already know, on RAW and JPEG, then adds facial recognition, jersey numbers, and rosters that follow the folder. Type the player once and the name and the caption line land together. No file to keep current.
In Photo Mechanic a code expands in the field your cursor is in. Your file can hold several columns for one player, but you fetch them a field at a time, typing the code again with the second or third replacement called out. The alternative is to wire the columns into the Metadata Template and apply it to the selection, which is a second pass over the take rather than part of tagging the frame.
Applying that template evaluates the variables and writes the result in as static text. Nothing stays linked to the file it came from. Fix a misspelled name in the roster afterwards and the photos you already stamped keep the old spelling until you go back and apply again.
And you built those columns in the first place. You keep them current too: a new roster every week, transfers, walk-ons, a number change nobody told you about. That work happens before the event, on your own time, and it never appears on an invoice.
Desktop doesn’t answer that with a live link, and it’s worth being straight about what it does instead. It removes the second pass. A template here can carry a roster or MatchID token that stays unresolved until a tag exists, so you apply the template once and the athlete values land the moment you tag the frame.
Be clear about which pass does the damage. Applying a template over frames that already carry good captions is what clears them. A field set to replace, a token that resolves to nothing, and the captions you wrote are gone.
In Photo Mechanic that pass is the workflow. Batch-applying the template is how you save the time, so the hazard comes along with the feature. Desktop doesn’t need that pass. Apply the template up front, tag, and the values resolve as you go. Apply one afterwards anyway and fields carrying those tokens append rather than replace, because the safe behavior should be the one you get without thinking about it.
Here the roster is on screen. Type the player once, or pick them from the dropdown, and the name and the full caption line land in the fields you mapped. One press. Nothing to reapply, and no separate long form to enter.
Prefer keystrokes? Type the shortcode instead. Either way you stay in one place, because the mapping already knows which value belongs in which field. You are not clicking from the caption box to Persons Shown to keywords and back.
One press writes the person name and the long form the caption needs, both tied to that player. You pick the athlete off the roster, so the value is looked up, never predicted. There is no model in that path and nothing to second-guess. Code replacement values still work if you want them, so nothing was taken away.
Open a different event and the right roster is already there. No swapping code files between games, and subfolders inherit unless you say otherwise.
1,295 teams and 348,656 athletes, kept current in the app: Division I football and basketball, Division II and III across 90 sponsored sports, and ten pro leagues. Build one in the app, or upload your own as .xlsx, .xls, .csv, .tsv or .txt. The delimiter is detected for you.
Index headshots and MatchID names the frames it recognizes before you open them. Roster tagging covers the people you have not indexed, or anything you would rather set by hand.
That is a fair thing to believe, because the recognition built into consumer photo apps really does fall apart here. Those models learned from photos where people face the camera. Action photography is the opposite: motion blur, heads turned away, athletes at distance, bodies in the frame, helmets.
MatchID was trained on a large archive of sports photography instead of ordinary photos, and reads jersey numbers when there is no face to read. Because it was built for the hardest conditions in photography, the easier ones come along for the ride.
We are not going to tell you it gets there on the first pass. Some frames need a person to look at them, and a few need adding by hand. Those land in a review queue, where one click from the roster finishes the job.
You know the moment. The number is hidden, the player could be one of two who look alike from across the field, and you are scrolling back through the take to narrow it down. It happens on teams you cover often.
Click Who Is This, and MatchID checks that one photo against the headshots scoped to the folder and hands you its best match. You confirm and keep moving. No batch to run, no settings to open.
Checked against published pricing and product documentation.
| Capability | GalleryID DesktopMac & Windows | Photo Mechanicand Photo Mechanic Plus | Lightroom ClassicAdobe |
|---|---|---|---|
| Facial recognition | Trained on sports photos | Consumer model, no roster | |
| Reads jersey numbersFor helmets, and faces turned away | |||
| Tag from the roster in one clickNo codes to type or memorize | Name + long form together | Code replacement | |
| Caption line tied to the playerThe long form belongs to the person, not the field | One press writes both | Another column, fetched per field or on apply | |
| One entry fills all mapped fieldsNo clicking field to field to field | Shortcode or roster dropdown | Per field, or a template you re-apply | |
| Roster values resolve as you tagApply the template before anyone has been named | Deferred tokens fill in at tag time | Evaluated and written when you apply | |
| Ask about a single photoIdentify one frame against the folder’s headshots | Who Is This | ||
| Roster follows the folderNo swapping between events | Subfolders inherit | ||
| League rosters built in | 1,295 teams, 348,656 athletes | Build your own file | |
| Bring your own roster, any common format | Or build one in the app | Tab-delimited text only | |
| Your existing code sets keep working | Nothing was taken away | ||
| Ingest, cull, ratings, color labelsRAW browses from embedded previews, both apps | Measured: 4,664 files, 52 GB, in 1:19 | ||
| Offline catalog of your drivesBrowse and search with the drives unplugged | Catalog, plus iPhone and Android companions | Photo Mechanic Plus only; withdrawn from sale Mar 2026 | Import-based catalog |
| Tone and color adjustmentsPhoto Mechanic crops, but does not tone | |||
| IPTC and XMP templates | App, org and folder levels | Static presets, no variables | |
| FTP delivery from the export step | FTP and FTPS | 16 destinations | Plugin, or Web module only |
| Runs on Windows | |||
| Unmetered, no AI credits | Runs on your machine | ||
| Price | $20/mo+$10 per extra device | $14.99/moor $299 perpetual | from $14.99/moLightroom 1TB plan |
Verified August 2026. If something here is out of date, tell us and we will correct it.
Photo Mechanic has enhancements Desktop does not, including more FTP destinations. Desktop was built around facial recognition running on your own machine. Metadata reads across both, so if Photo Mechanic has a place in your sports photography workflow, the two sit side by side. Your existing code replacement values keep working here either way.
Sideline Captions and Caption Pro answer a different question, so they get their own page: GalleryID Desktop vs Sideline Captions.
Camera Bits announced on March 2, 2026 that Photo Mechanic Plus is no longer available for purchase; per their announcement, its catalog feature relied on third-party technology that became unsupported, and existing users keep the software for as long as it stays stable on their current OS. Standard Photo Mechanic is unaffected. If the Plus catalog was your archive, here is where it goes next.
GalleryID Desktop’s Catalog indexes whole drives into an offline-browsable archive. Browse and search by name, keyword or filename with the drives unplugged, and take it with you on the iPhone and Android companion apps, synced over your own wifi only.
Photo Mechanic wrote your captions, keywords and names into IPTC and XMP inside the files, not only into its database. The Catalog reads what’s already embedded, so years of code replacement work survive with no export and no migration tool.
Removing an item from the Catalog never touches the source file, and exports carry people, keywords and capture date embedded in HD previews or originals. The archive is your drives, organised your way. The Catalog is the search layer over them.
GalleryID Desktop doesn’t sell a perpetual license, and that’s a position, not a gap. This isn’t a claim about Camera Bits, it’s their published one: a Photo Mechanic perpetual license includes one year of free feature updates from the date of purchase, and their own licensing announcement lists handling files from newly released cameras among what a subscription keeps current. A perpetual license is perpetual for the camera and computer you owned the day you bought it. Buy a new body a few years in and its RAW files may not open. Update your OS and the app may break, prompting a paid upgrade to the next version. Desktop is $200/yr and always current: new camera formats, new OS versions, new features, no repurchase ladder. The subscription isn’t a payment plan. It’s the update policy.
Don’t replace your tools.
Rethink your workflow.
14 days free on Mac or Windows.
$20/month for the first device, $10 for each one after.
Photo Mechanic and Lightroom are trademarks of their respective owners. GalleryID is not affiliated with, sponsored by, or endorsed by either of them, and the names are used here only to identify the products being compared. Feature details reflect each vendor’s published documentation as of August 2026 and may have changed since.