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 Cloud worksUse GalleryID Cloud on your phone

Galleries and photos

Find your way around the dashboardFind a gallery in the gallery listCreate galleries for a game and send upload linksSee the season on the Calendar and assign coverageOrganize galleries with folders

Search and collections

Search photos across every gallerySave photos to favorites and collections

Uploading and sharing

Upload a galleryShare a gallery with a linkCollect photos with an upload linkShare a whole folder with one link

MatchID

Drop headshots into MatchIDChoose which people MatchID looks forApprove and reject MatchID matchesPull a roster from your athletics site

Names and captions by hand

Tag by typing a name, number or codeBuild a CaptionID shortcode rosterGeneral Tags

Settings, naming and metadata

Choose which fields the names write toChange how files are named on downloadSet branding, domain and org-wide defaults

Users and access

Invite people and set what they can seeChoose a role and what it can doGrant folder access to a whole groupSwitch between organizationsGive athletes their own login

Selling

Set up the download store with StripeTrack sales and manage buyer downloadsWhat a buyer sees when they buy a photo

Billing and your account

Change your plan and check storage usageEarn credit by referring another photographerManage your Desktop license and devicesCheck a support ticket you opened

Integrations

Deliver photos over FTPSend photos on to PhotoShelter

More

TutorialsFAQContact support
Help›Names and captions by hand›Build a CaptionID shortcode roster

Names and captions by hand

Build a CaptionID shortcode roster

Org adminRequires CaptionID
The shortcode roster builder: league, teams, prefix or suffix, and the preview of the codes
The shortcode roster builder: league, teams, prefix or suffix, and the preview of the codes.
This is a different list from Roster Sync, even though the two tabs sit side by side. Roster Sync is MatchID: athletes with headshots that faces are matched against. Shortcode Rosters is CaptionID: the codes you type while tagging, and what each one expands to.

Rows do not have to be people. A code can expand to a phrase or a caption fragment. It works with no headshots at all, and existing Photo Mechanic and GalleryID Desktop code replacement values carry over.

Three ways to get one

Right-click a folder or a gallery and choose Shortcode Roster..., or open Org Dashboard → Shortcode Rosters. The setup panel offers three routes, and they behave differently enough to be worth choosing deliberately.

RouteWhat it does
Build from a leaguePick a league and up to four teams, and the codes are generated for you. This is the only route that can pull an opponent in later.
Use a saved rosterAssigns one you already have, exactly as it stands. Its rows are not rewritten.
Import a fileTSV, CSV or XLSX, where column A already is the shortcode. There is no league or team behind it, so no opponent step.

Set the folder up once, then pick the opponent per game

Build the roster on the folder with your own team in the first slot and the second slot left open. Each gallery inside then opens on a single control, Opponent for this gallery, and pulls that squad in. Everything else stays inherited.

The team tokens are positional. Your team is {team1} because it is first, and the opponent is {team2}. Picking an opponent never promotes them to the home slot, so a caption written against {team1} stays correct all season.

What each column holds

Column B is the name that gets tagged. C through F fill {col_c} to {col_f} in a metadata template. Each column picks from a list of ready-made formats, including four long forms such as “Marcus Cole #12 of the Riverdale Wolves”, or Custom Format... where you write your own from tokens like {name}, {jersey} and {team}. A live preview shows the finished rows before you save.

Action codes

The same roster also holds action codes: scr expanding to “scores a goal”, and the like. They are not people, so they never reach Persons Shown and they resolve through {common_code} instead of the person tokens. Write {team1} and {team2} in a phrase rather than a club name and it stays right from game to game.

Save a set of them by name and load it into another roster. Loading a set replaces the codes rather than merging them.

Importing a file

Column A is the shortcode. A row with nothing in column A is dropped. Import is a two-step: nothing is written until you have seen the review screen, which counts the people and the action codes and asks you to confirm the split.

Rows with no digit in column A are proposed as action codes, since a person usually has a number. Uncheck any that is really a person, a coach or a swimmer for instance. If it flags everything, the sport probably has no numbers, and None are codes fixes it in one click.
Saving over a roster of the same name replaces all of its rows, and anything using that roster switches to the new file. The panel warns you and the button changes to Replace when that is what will happen.

What happens to photos you already tagged

  • •Action codes are frozen at the moment you tag. Editing a phrase later does not rewrite captions that already carry it.
  • •People are pinned to a roster version. Refreshing or re-importing mints a new version, and a photo keeps resolving through the one it was tagged against, so a jersey reassigned next season does not rewrite last season.
  • •A gallery can be pinned to an older squad with Squad version in its Shortcode Roster section. The default, Latest — follows refreshes, is what most galleries want.
  • •Dropping a team from a scope leaves the names on photos already tagged. Their roster columns stop resolving there, and the panel tells you how many photos that affects.
Deleting a roster that is assigned somewhere stops tagging in each of those places, and nothing warns anyone afterwards: the next code typed returns nothing at all. GalleryID asks you to type DELETE, and lists what is assigned, for that reason.
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.