Tag from your roster with one press, or let MatchID do it. Included in all plans. Start your 14-day free trial.Get Started →
GalleryID
GalleryID CloudGalleryID DesktopMatchIDCaptionID
PhotographersTeamAthletic DepartmentsColleges & UniversitiesAthletic ConferencesOrganizations
HelpComparePricingBlogAbout
Book a DemoLog In
GalleryID CloudGalleryID Desktop
Help home

Start here

How GalleryID Desktop works

Getting started and ingest

Set your MatchID settings and metadata templateIngest from a cardBrowse your photos

MatchID

Index reference headshotsTag photos with MatchIDTurn camera voice memos into names

CaptionID

Set a roster on a folderTag photos in the photo window

Metadata

Build an IPTC template with tokensFill fields from the camera with ExifIDFix a wrong value across a folder

Culling and editing

Cull out-of-focus photosCrop and straightenAdjust tone and colour

Files and delivery

Copy, move and rename filesExport, watermark and sharpenSend named files over FTPSend photos to GalleryID Cloud

Camera and phone

Caption on your phone as the camera sends, with SidelineID

Archive and backup

Browse an unplugged drive with CatalogBack up and restore

Reference

Keyboard shortcutsActivate a computer and manage devicesTeams: personal keys and sharing

More

TutorialsContact supportYour Desktop account
Desktop help›CaptionID›Set a roster on a folder

CaptionID

Set a roster on a folder

A roster is the list your shortcodes type against. It binds to a folder, so a game, a weekend or a season is set up once.

What a roster isThe Rosters screenBuild from the Roster FeedImport a spreadsheetSet a roster on a folderEdit and refreshVersions, unbinding, deleting

What a roster is

Each row is a person (or an action code) with a shortcode in column A. Type the shortcode in a caption and CaptionID writes the name, or the full caption line, from that row.

A roster names people. Indexed headshots are what MatchID recognizes faces from. They’re separate, and you can use both on the same photo: tag from the roster on a frame MatchID already matched and the caption still reads as one list.

The Rosters screen

The Rosters screen with Import roster, Refresh list and New Roster, and one roster, State University Volleyball
Your roster library. Each roster shows where it came from, its rows, and when it was fetched.
ControlWhat it does
Import roster…Brings in a spreadsheet. See Import a spreadsheet below.
Refresh listReloads the library.
+ New RosterBuilds a roster from the GalleryID Roster Feed.
EditOpens the roster's settings and rows.
Export…Saves the roster as a TSV, TXT or XLSX code-replacement file, such as for Photo Mechanic.
DeleteRemoves the roster. Folders bound to it are left without one; names already written stay.

Build a roster from the Roster Feed

The New roster dialog: name, template, league, two teams with codes h and a, shortcode structure, and team rows
+ New Roster. Pick a league and teams and the rows come from the Roster Feed.
  1. 1

    Name it

    Name the roster, for example after the game.
  2. 2

    Pick the league and teams

    Choose the league, how many teams, and each team with its code.
  3. 3

    Set how shortcodes are built

    Prefix, suffix or none, plus the head coach and staff codes.
  4. 4

    Choose the caption style

    How a tagged player reads in the long form.
  5. 5

    Create roster

    The rows are pulled from the feed and saved to your library.

Roster name and template

The Roster name field
Start from template, set to No template

Start from template fills the form from a saved roster template: league, your team, structure and columns. Change anything before you create it.

League and teams

League FIFA World Cup 26, two teams: United States with code h, Australia with code a
ControlWhat it does
LeagueThe Roster Feed league the squads come from.
Teams: 1 to 4How many teams this roster holds.
Team + codeEach team and the letter its shortcodes carry, such as h for home and a for away.

Shortcode structure

Shortcode structure: None, Prefix, Suffix, with HC prefix hc and Staff prefix ac
OptionNumber 7 on the home team (h)Use it when
None7One team. Two teams would clash.
Prefixh7The usual choice. The team letter comes first.
Suffix7hYou type the number first.

HC prefix and Staff prefix are the codes for the head coach and staff, which have no number. With Prefix on, the home head coach is hhc.

Give each team its own letter. Shortcodes have to be unique inside a roster, and the letter is what keeps h1 and a1 apart.

Team rows

Add a team row per team, with Team row column C set to Players of {team}

Adds one row per team whose code is the team’s letter, so \h\ tags the team as a whole, for a group shot or a huddle. Team row column C picks how that row reads, such as “Players of United States”.

Caption style and coaches

Caption style: Player of the team, Team position player (N), Team position player, Team player (N), and the Coaches wording

How a tagged player reads. This is the {long} token and the exported long form. {long1} to {long4} stay available when a template wants a specific one.

StyleReads
Player of the teamMarcus Cole #12 of the Riverdale Wolves
Team, position, player (N)Riverdale Wolves quarterback Marcus Cole (12)
Team, position, playerRiverdale Wolves quarterback Marcus Cole
Team, player (N)Riverdale Wolves Marcus Cole (12)
Coaches sets how staff rows read, since a coach has no number. Each wire service words it differently, so pick the one your outlet uses.

Custom code sets

Custom code sets: Basketball, NCAA Football, Soccer (ticked) and Volleyball

Code sets are action phrases, such as “celebrates a goal”, that go in with {common_code}. Tick the ones this roster uses. A template’s own picks are ticked for you.

MLB coach handling

MLB coach handling: Position-based shortcodes ticked, Number-based shortcodes unticked
OptionWhat it does
Position-based shortcodesThe coach's position code is the shortcode, and the full title goes in the long form.
Number-based shortcodesAdds a second line with the jersey number in the long-form column.

Only shown for rosters built from the feed.

Export columns

Customize export columns ticked, six columns: Full Name, Long Form 2 with coach wording, Number, Position and Team Name

Only for the exported file. Off, the Photo Mechanic file is shortcode, name, your caption style, number. Captions don’t need these: {person_name}, {team} and the long forms come from the roster’s own fields.

ControlWhat it does
2 to 6How many columns the file has. Column A is always the shortcode.
Col B to FWhat each column holds. A long-form column also gets its own Coaches wording.
↑ ↓Moves a column.
These are also what the \code#N\ shortcut reads, so \h7#2\ writes column C for number 7.

Import a spreadsheet

The Import roster dialog before a file is picked
Import roster… on the Rosters screen, or Import… in the ingest dialog.
ColumnHeader names it recognises
Shortcode (required)shortcode
Namename / first_name / last_name
Numberjersey / number / no
Teamteam / club / school
Positionposition / pos
Prefix and suffixprefix / suffix

Tabs, commas, and the first sheet of an .xlsx all work.

Import roster with a file picked: name, source XLSX, 17 rows, detected columns, and seven common codes flagged
After you pick a file: what was found, and the rows flagged as common codes.

Common codes

Rows with no number in column A are flagged as common codes: action phrases that go in with {common_code}, not people.

Uncheck the real people before you import, such as coaches, or each player in a sport without numbers. None are codes unchecks them all.
Column A has to be unique. A file with a repeated shortcode is rejected before anything is saved. Give each team its own letter so p1 becomes hp1 and vp1.

Set a roster on a folder

The roster dialog on a folder that already has one: Currently set, the Existing roster tab with the current roster marked, Roster version Latest, and Cascade to subfolders
Right-click a folder ▸ Set roster…, or the roster button in the Browse toolbar.
TabWhat it does
Existing rosterPick one from your library. The folder's current roster sorts to the top, marked Currently set.
Build newBuild from the Roster Feed, as above.
From templateStart from a saved roster template.
Import a fileImport a spreadsheet, as above.

Options

OptionWhat it does
Cascade to subfolders (on)Subfolders without their own roster use this one, including folders you add later.
Cascade offBlocks it through this folder, so its subfolders stop seeing a roster from higher up too. Browse marks the folder vetoed.
Auto-update from Roster FeedRefreshes the rows when the roster is opened. Turns off when you edit a row.
Save templateKeeps this setup as a roster template for next time.
The name defaults to the folder name, which is one more reason to date your folders.

One dropdown per game

A roster template that names your club shrinks the form to one Opponent picker.

  • •Both squads load straight away, and the right-hand panel shows what each column writes.
  • •Teams stay in place: {team1} is your club, {team2} whoever you’re playing.
  • •Change the team… on the banner reopens this once a roster is set.

Change the teams on a folder

Edit roster on a folder that already has one: the From template tab with the league's teams ticked, a prefix per team, and the preview of rows
Right-click the folder ▸ Set roster…, or Change the team… on the banner.

Tick the teams you want and give each a prefix or suffix. The preview updates as you go. Update saves the roster in place, so the library doesn’t fill up with copies.

Edit and refresh

In the editorWhat it does
The gridEach cell (shortcode, name, number, team, position) edits in place. + Add row covers anyone the feed missed.
Person / Code pillSays what a row is. Click to flip it. all Person / all Code in the header sets every row, or just the selected ones.
Fields / OutputFields is the editable grid. Output shows the exported file exactly as it'll be written, so it's read-only.
OrderSets the order the exported file comes out in. Clicking a column header only sorts the view.
PosFree text. For a league we know the codes for, it drives the long form: SP reads “starting pitcher” where P reads “pitcher”.
Duplicate shortcodes sort themselves out so the number still reads as the number. Football splits a shared jersey by side of the ball (p1o, p1d, p1s). Other sports add letters (p1a, p1b). A code you type yourself is never renamed.

Refresh keeps your corrections

  • •Refresh Roster pulls the squads again. Names, numbers, positions and teams you corrected by hand are held.
  • •Held fields carry an amber mark and a count in the Held column. Click the count to release one.
  • •A correction releases itself once the feed catches up, and the toast names the fields that went back to the feed.
On a roster holding corrections, Refresh asks first. Keep my changes updates everything else. Use the feed drops your corrections, and that can’t be undone.

Leaving the editor with unsaved edits, even with a shortcut like ⌘F, asks first.

Versions, unbinding and deleting

ActionWhat happens
Refresh after a tradeEach refresh makes a new version, and a tag remembers the version it was made against. Last season's photo still names who wore that number then.
Roster version (Existing roster tab)Defaults to Latest, which follows refreshes. Pin it to a dated squad instead. A pin doesn't cascade.
Clear bindingUnbinds this folder, which falls back to whatever a parent cascades. The roster and the photos are untouched.
Delete a rosterFolders bound to it are left without one. Names already written stay.

Related

Tag photos in the photo window →Build an IPTC template with tokens →Ingest from a card →
GalleryID

Athlete naming for sports photographers and athletic departments. GalleryID Desktop ingests, culls and captions on your own computer, and nothing is uploaded; SidelineID is Desktop on your phone at the game. GalleryID Cloud is the hosted archive you search by athlete name. The built-in Roster Library covers NCAA Division I, II and III and the major US pro leagues.

Find photos by athlete, not by filename.

iPhone and Android apps for both products →

Product

GalleryID DesktopGalleryID CloudMatchIDCaptionIDPhone appsFeaturesPricingCompare

Solutions

Sports PhotographersTeamAthletic DepartmentsColleges & UniversitiesAthletic ConferencesOrganizations

Company

Book a 30-Min DemoAboutContactPrivacyTermsDPA

Resources

HelpCloud Getting StartedDesktop Getting StartedCaptioning SoftwareRoster LibraryAfter Photo Mechanic PlusBlog
© 2026 GalleryID. All rights reserved.Built by working sports photographers, on the same deadline you are.macOS, Windows and the web.

Photo Mechanic and Photo Mechanic Plus are trademarks of Camera Bits, Inc. Lightroom, Photoshop and Adobe are trademarks of Adobe Inc. Capture One is a trademark of Capture One A/S. Sideline Captions, Caption Pro, PhotoShelter, SmugMug, Zenfolio, Pixieset, Pic-Time and all other product and company names referenced on this site are trademarks of their respective owners. GalleryID is not affiliated with, sponsored by, or endorsed by any of them. Those names are used here only to identify the products being described or compared, and any comparison reflects each vendor’s published documentation at the time of writing.