Blog |

Data sets in Photoshop CS

So you want to make 100 images using a data sets list of clients you have? It would be crazy to generate 100 pictures by hand. That is just nuts! There are actually companies around the world that ask around €400,- for a program that does this. After doing some research, I found out this function was just a built-in menu item within Photoshop.

Before you start

  • I’m using Photoshop CS. Photoshop CS2 and 3 have this function as well. However it is possible that this function is located elsewhere within the program.
  • You can only personalize text within a text layer, not an image layer or smart object.
  • In this tutorial a dutch version of Photoshop/ImageReady CS is used. Will try my best to translate as much as possible within the graphics.

Step 1: Creating the image

  • Open up a new document ctrl+n / apple+n
  • Fill the image with a color.
  • Click on the text tool and click anywhere in the graphic to make a text layer.
  • As text fill in “Variablename”. You will see that the name of the layer turns into “Variablename” as well.

It should look something like this:
Data Sets in Photoshop CS

And the layer palette should look something like this:
Data Sets in Photoshop CS

Save the document as dataset.psd.

Step 2: creating the list

We make a basic list of the names you want to use within your data sets. You can use Notepad (windows) or Editpad (mac) for this. Example:


The Variablename has to be the first in the document. This will tell Photoshop that all the names below it should replace the “Variablename” in the document.

Save the document as Datalist.txt. It doesn’t really matter where you save this list. You have to load it manually in photoshop.


Step 3: Define the data sets

Go back to your image in Photoshop and click on the ImageReady button. This button is at the bottom of your basic tool palette on the left. The reason we do this is that Photoshop can only export datasets as psd. ImageReady however can export datasets as .swf and .gif for example.

Note: In Photoshop CS3 ImageReady is built in, so I suppose you can find the functions I use within Photoshop itself.

Go to Image > Variables > Define

Click on the drop down menu next to “layer” and choose “Variablename“.

Check “text replace” and make sure the name is also set to “Variablename“.

Now you have defined what ImageReady should do. It has to replace text within the layer “Variablename”.

Step 4: Load the data

Within the same window select “Data Sets” at the very top of the window.

Click Import on the right.

Find the Datalist.txt file and load it into Photoshop. When given the following window make sure you check both boxes under option. First about first data as filename. Second as replacing the current data with the file.

If done properly you should have this as your list of data sets when folding out the dropdownmenu next to dataset.

Step 5: exporting the data

Go to File > Export > Data Sets as Files ….

Go to Set …
Set first dropdownmenu to DataSet name and the last dropdownmenu to .ext. All the dropdownmenu’s inbetween should be set to none.

Click on Choose … Choose your destination for the files.

Select the option All DataSets and make sure it saves as Optimized. Also check the export option image only. Click OK.

Below the window, with all the settings in them.

IMPORTANT: Make sure you hit ctrl+s or apple+s after exporting the images. Then you will save the .psd file with the data information in them. Everytime you need to make some more images, open up the image in ImageReady, load the file again with the new information and export again.

Step 6: Viewing the images

You now should have 4 images.

These are mine:

Hope this is clear! If something is unclear, please post below and I will try my best to help you out.

Little FAQ

How can I use more variable data?
Make sure you divide them with a tab (as in pressing the “tab” button on your keyboard), that’s all it needs. Then you repeat the steps above, but when defining the actual action you have to define them for two layers instead of one. One text replacement for layer 1, and one text replacement for layer 2. Each “row” has to have a variable name at the top.

Does the variable name always has to be “Variablename”?
No, you can use anything you want. In the textfile the first “word” has to match the layer, so it can also be “and” or “friend” or “example”. If you use “friend” then in the textfile the first word has to be “friend” and the layer within the photoshop/imageready document has to be named “friend” aswel.

Why don’t you load and define datasets in Photoshop, but ImageReady instead?
Photoshop CS doesn’t have Image > Variables, atleast I couldn’t find it. Therefor I used Photoshop CS to build my image, and ImageReady to load, set and define the data. Photoshop CS2 & 3 do have Image > Variables, but you can’t export them as .gif in Photoshop. You will need ImageReady to export them as webimages.


I will write another tutorial on how to define, load and export more rows of data all in once. See you then!