Tag from your roster with one press, or let MatchID do it — included in all plans. Start your 14-day free trial.Get Started →

MatchID

Names the players. Embeds the names.

Facial recognition for the faces you can see. Jersey numbers for the helmets you can't. MatchID runs locally on your Mac or PC in GalleryID Desktop, and against the gallery you upload in GalleryID Cloud. Anything it misses is one press from the roster with CaptionID. Names write to the file.

Try 14 Days Free Watch the tutorials →

The workflow

Ingest or upload. Identified. Deliver.

Desktop runs MatchID on the folder on your machine. Cloud runs it on the gallery you upload. Same engine, same names.

01 · PHOTOS

Point it at the photos.

In GalleryID Desktop, that's a folder or a selection on your own computer — nothing is uploaded. In GalleryID Cloud, it's the gallery you dragged in. The roster is already bound and ready to match.

02 · IDENTIFIED

MatchID names the players.

Trained for sports photography, with jersey numbers as the second signal. Confidence scores surface for review, or set auto-approve. In Desktop, Who Is This asks about a single photo on demand.

03 · DELIVER

Names write to the file.

In Desktop the names are already written to the file before it leaves your machine. In Cloud they're written to the file on download. FTP, share link, ZIP, the names write to the file either way.

No credits. No per-image charge. MatchID runs as much as you need.

The math

Credits scale. We don't.

Per-image pricing starts cheap. The bill compounds through the season. Ours doesn't move.

A Game
~1,000 photos
$30
Per-credit cost
GalleryID $0
A Weekend
~3 games
$90
Per-credit cost
GalleryID $0
A Month
~12 games
$360
Per-credit cost
GalleryID $0
A Season
~60+ games across sports
$1,800+
Per-credit cost
GalleryID $0

Math assumes 3¢ per image, the high end of typical per-credit pricing. Photo counts vary by sport, coverage, and photographer. The point: credits put a tax on volume. Unlimited removes it.

Faces

Trained for the action.

Facial recognition struggles with sports photography. Motion blur. Awkward angles. Hands in the frame. Eyes closed mid-stride. Most general-purpose face APIs trained on portrait photography. They don't translate.

We trained MatchID for the kind of photos you take. Sideline distance. Helmets pushed back. Fast pans. Threshold settings let you tune for your tolerance — relax it for helmet sports where you need recall, tighten it for face-visible sports where you need precision.

23
Helmets

Reads the number when the face isn't there.

Football. Lacrosse. Hockey. Catchers in the dirt. The face is hidden but the number is visible. Jersey number reading reads it.

A helmeted face alone scores lower than a clean one. Fewer features, more occlusion. Jersey number reading closes the gap — when face confidence dips, the number raises the match. Together they push helmet-sport accuracy well past what facial recognition can do alone.

We trained OCR to read numbers off jerseys, helmet decals, chest plates, and shoulder patches. Numbers match to roster positions. Names attach.

Where the names go

Into the file. Not into a platform.

In GalleryID Desktop the names are written to the file right on your machine; in GalleryID Cloud they write to the file on download. Standard IPTC and XMP, not a proprietary format. Photo Mechanic reads them. Lightroom reads them. Capture One reads them. Photoshop reads them.

Names write to the file, so they go wherever it goes. Not stuck in an app. Not behind a login. Not lost when you switch tools. If the photo gets emailed, archived, or republished, the metadata goes with it.

This is the only way we want to deliver identification.

JPEG · 4912×3264 · XMP
Persons: [
  "Marcus Reyes #23",
  "Tyler Park #11",
  "Coach Davis"
]
Sport: "Football"
EventDate: "2026-09-12"

Sports first

Built for sports. Works for everyone.

Sports is where we started. The product works wherever you need names attached to faces.

FootballBasketballBaseballSoftballSoccerLacrosseHockeyVolleyballWrestlingTrack & FieldSwimming & DivingTennisGolfCross CountryCheerRowing

Plus dance studios, school productions, music groups, conferences, corporate events, and wedding parties.

Per-client by design

Your photos. Your roster. Your data.

No global index. MatchID identifies players against your roster. There's no cross-client database of athletes. There's no shared face library. There's no model trained on your photos for someone else's benefit.

Each account is its own MatchID context. And in GalleryID Desktop the question doesn't even come up: the photos, the headshots you index, and the face data never leave your computer at all.

What we don't charge for

Three things we don't charge for.

Credits
$0
Per Identification
Others charge
1 to 3 cents per image
Seats
$0
Per User
Others charge
$25 to $50 per user / month
Sales
0%
Commission
Others take
8 to 15% per sale

MatchID at $20/mo. Same features at $800/mo.

See Pricing

Common questions

About MatchID.

Where does MatchID run?

In both GalleryID products. In GalleryID Desktop it runs locally on your Mac or PC against headshots you index there — nothing is uploaded, and it's unmetered because it's your machine doing the work. In GalleryID Cloud it runs against the gallery you uploaded, unlimited on all plans. Both write the same names into the same metadata fields.

How accurate is MatchID?

Depends on the photos. Face-visible sports like volleyball and basketball: high accuracy out of the box. Helmet sports: depends on how often jersey numbers are visible. We let you tune the confidence thresholds for your tolerance.

What happens with bad matches?

You catch them in review. The interface shows pending matches with confidence scores and the source crop. Reject the bad ones. Approve the good ones. The auto-approve threshold lives in your settings.

How fast does it run?

In Cloud, photos process in parallel and a typical Saturday college football gallery (a few hundred photos) is done in under 30 minutes; larger galleries scale proportionally. In Desktop it runs on your own machine whenever you trigger it — the usual pattern is to cull first and run MatchID only on the keepers.

Do I need headshots for MatchID?

For MatchID, yes — it matches faces against the headshots on your roster. But you don't need MatchID to caption: CaptionID writes the name and the full caption line from the roster in one press or a shortcode, no headshots at all. MatchID is the accelerator on top of that.

What about sunglasses, masks, face coverings?

Facial recognition still works on partial occlusions. Sunglasses and masks reduce accuracy but don't break it. Jersey number reading is your backup when the face isn't legible.