RosterFrame Open app

RosterFrame › Guides › Memory mates & cards

How to make memory mates in Photoshop with variables and data sets

By Jakob · Updated

Quick answerYou build one memory mate template, mark the name, number and photo layers as variables, and import a CSV file with one row per player. Photoshop then makes one version of the template per row, a data set, and File › Export › Data Sets As Files saves each one as its own PSD, which you then convert to JPEG for the lab.

No signup · No uploads · Free during beta

This guide walks through the whole setup for a team of sports memory mates, with a sample CSV for three players, the menu paths in current Photoshop, and the fixes for the "could not parse" error that stops most people the first time. It also covers what data sets can't do: team and class composites. Photoshop is made by Adobe; RosterFrame isn't affiliated with Adobe.

How do Photoshop variables work for memory mates?

A variable is a layer that changes from one version of the file to the next, and a data set is one set of values for all the variables, in practice one player. Photoshop has three kinds of variables, and a memory mate uses two of them.

The three Photoshop variable types and what they do on a memory mate
Variable typeWhat it changesOn a memory mate
Text ReplacementThe text of a type layerFirst name, last name, jersey number, team name
Pixel ReplacementThe pixels of a layer, from another image filePlayer portrait, team photo
VisibilityShows or hides a layer (true or false in the file)Optional: a Coach badge, a Captain tag, a second logo

The setup takes one template and one spreadsheet per team. Once it works, a new team is a new CSV file, not a new evening of copy and paste.

How do I make a memory mate in Photoshop with data sets, step by step?

Build the 8 × 10" template, turn its name, number and photo layers into variables, import a CSV with one row per player, export the data sets as files, then convert them to JPEG in one batch. The six steps below use the menu paths from Adobe's Photoshop User Guide.

1. Build the 8 × 10" template

2. Define the variables

  1. Choose Image › Variables › Define.
  2. Pick the first name layer in the Layer menu, tick Text Replacement, and name the variable firstName. Do the same for lastName, number and team.
  3. Pick the player photo placeholder, tick Pixel Replacement, and name it playerPhoto. Set the method to Fill, choose the alignment (top center keeps heads in the frame), and tick Clip To Bounding Box, so every headshot fills its box without stretching.
  4. Do the same for the team photo placeholder and name it teamPhoto.

Variable names must start with a letter, an underscore or a colon and can't contain spaces, so use firstName, not "First Name". Layers with variables get an asterisk in the dialog's Layer menu.

Tip for file names: add one more text layer, hide it with the eye icon, and make it a Text Replacement variable named fileName. Put it in the first column of the CSV and the exported files can be named after each player instead of Data Set 1, 2 and 3.

3. Make the CSV data set

Make a spreadsheet with one column per variable and one row per player, then save it as a comma-separated CSV or a tab-delimited text file. The first line holds the variable names, spelled exactly as in the PSD, and every following line is one data set.

fileName,firstName,lastName,number,team,playerPhoto,teamPhoto
Martinez_Ava_4,Ava,Martinez,4,Hawks U12,/Users/you/Hawks/Ava_Martinez_4.jpg,/Users/you/Hawks/Team.jpg
Chen_Leo_11,Leo,Chen,11,Hawks U12,/Users/you/Hawks/Leo_Chen_11.jpg,/Users/you/Hawks/Team.jpg
OBrien_Maya_23,Maya,O'Brien,23,Hawks U12,/Users/you/Hawks/Maya_OBrien_23.jpg,/Users/you/Hawks/Team.jpg

Already have a roster? The columns in the team roster template map straight onto these variables: copy First, Last, Number and Team across and add the two photo path columns.

4. Import the data set

  1. Choose Image › Variables › Data Sets and click Import, or use File › Import › Variable Data Sets.
  2. Select the CSV. Tick Use First Column For Data Set Names (that's why fileName comes first) and leave Encoding on Automatic.
  3. Tick Preview and step through the players with the arrows. Check long names, crops and the team photo before exporting. Note that applying a data set overwrites the open document, so keep a saved copy of the template.

5. Export the data sets as files

Choose File › Export › Data Sets As Files, pick a new, empty destination folder, choose the file naming, select all data sets and click OK. Photoshop writes one layered PSD per player.

6. Convert to JPEG with Image Processor or Batch

Labs want flat JPEGs, so convert the PSDs in one pass. Choose File › Scripts › Image Processor, select the export folder, tick Save As JPEG with quality 12 and Convert Profile To sRGB, and click Run. The JPEGs land in a JPEG subfolder. If you need extra steps, such as sharpening or a flatten, record them as an action and pick it under Run Action, or run the same action on the folder with File › Automate › Batch.

Is there a Photoshop action for memory mates?

Not one that does the whole job: an action replays recorded steps on the open file, but it can't type a different name for each player or choose which photo goes in which box. The usual setup is data sets for the names and photos, plus an action for the finishing steps that are the same for everyone.

For the finishing steps, File › Automate › Batch runs one action on every file in a folder, which suits the exported PSDs. The per-player part, names, numbers and photos, stays with the data sets.

Why does Photoshop say the data set can't be parsed?

Almost always because the first line of the file doesn't match the variables in the PSD: a missing or extra column, a different spelling, or a file separated by semicolons instead of commas or tabs. Every variable in the PSD needs exactly one column, with the same name, and every row needs the same number of values.

The usual message is "Could not parse the file contents as a data set. There were not enough variable names in the first line of the text file." Work through this checklist:

How do I put names and numbers on sports photos in bulk?

Use a spreadsheet as the source and let software place the text: Photoshop data sets fill a text variable for each row, and file-name based tools read the name and number straight from file names like Ava_Martinez_4.jpg. Either way, nobody types names into each photo, which is where most spelling mistakes come from.

For Photoshop, that means the setup above with only text variables and one photo variable, which also works for trading cards, magazine covers and other one-per-player designs. The spreadsheet route depends on the roster being right, so send a name check sheet to the coach before printing. If your photos are already named after the players, see how to name sports photos for the patterns that file-name based tools read.

RosterFrame reads names and numbers from file names or a roster CSV too, but it puts them on its own products, such as memory mates, composites and cards. It doesn't stamp names onto the original photos.

Can I make a team composite in Photoshop?

Yes, but mostly by hand. Data sets swap the contents of a fixed set of layers, so they can't add or remove headshot slots when one team has 9 players and the next has 15. Photographers place each headshot manually, keep a template per team size, or buy a composite tool.

Without Photoshop, the options are compared in how to make a team composite without Photoshop.

What about class composites and Photoshop Elements?

A class composite in full Photoshop works like a team composite: by hand, or with a template per class size, because data sets can't change the number of slots.

Can I make a class composite in Photoshop Elements?

Yes, by hand. Photoshop Elements doesn't have Photoshop's Variables and Data Sets commands, so every headshot is placed, sized and labeled one at a time, usually with a grid and guides to keep the rows even.

For a school with 20 classes of different sizes, that is the slowest part of the job. The class composite guide covers labels for teachers and how the layout changes per class.

When is a dedicated tool faster?

Photoshop data sets are the better choice when you have one signature design you want to keep exactly, and you're happy to maintain a template and a CSV per team. A dedicated tool is faster when the job is many teams of different sizes with the same look: RosterFrame builds a memory mate for every player and a composite for every team from folders of headshots, with names and numbers from file names or a roster CSV, and no template file to keep. It has three styles instead of a free-form designer and doesn't open PSDs, so the trade-off is design freedom for speed. The memory mate maker shows the workflow, and RosterFrame vs. Photoshop templates compares the two in detail.

Sources

How this guide was made: written by Jakob, who builds RosterFrame. Menu paths and the data set file format were checked against Adobe's Photoshop User Guide in October 2026. First published .

Try it with your own photos. Free during beta, no signup, runs in your browser. Your photos never leave your computer.

Open RosterFrame — free

All guides on this topic: Memory mates & cards.