My client has an Excel document with these headings Headline | subheadline | background image

There are roughly 10,000 rows, so they want 10,000 .jpg graphics created.

Question 1. What's the best way to create these as a .jpg? 2. Is there a way to make it so you don't have to open up indesign, illustartor or Photoshop?

I'd like to build the template but then give my client a script that they can just run to regenerate new jpg when the dataset changes in excel

  • Hi Tom and welcome to GDSE. I'm sure someone else can give you a detailed answer, maybe using ImageMagick. But just out of curiosity. I mostly do print design so i can't imagine why one would need to make 10000 images with text baked in. How are the images going to be used?
    – Wolff
    Feb 23 '19 at 14:51
  • @wolff thanks. social media ads and display ads for Google Ad Network
    – Tom
    Feb 23 '19 at 15:49
  • Imagemagic, python etc etc.
    – joojaa
    Feb 23 '19 at 17:38
  • Are you being tasked with doing this once and giving a final solution for the client to reuse or would this be a re-occurring job? I wouldn't just GIVE out something like that to a client and make your services obsolete. Feb 25 '19 at 22:33
  • @ovaryraptor i would be working in the file. Trying to avoid having to manually create these ads
    – Tom
    Feb 26 '19 at 23:25

Here's how I'd approach this task with Photoshop and scripting:

  • First create a template .psd file for these banners;
  • Export Excel document as .csv file;

Then with a script:

  • Read the .csv with Photoshop and create an array of headings;
  • Loop through this array, changing the background image and headlines for each text element;
  • Export each loop element as a .jpg;

That's basically it. On a basic level you can create code for this even with elementary knowledge in Javascript using the output from Adobe ScriptListener plugin and spending an hour at CodeAcademy or any similar site to learn a base of JavaScript.


At first you said you prefer the convenience of a script-based solution so that the clients could create their own ads - but then you said you are the one who is going to be running it yourself?

If after all you don't care about the client running a script, you can use the native Photoshop feature called "Variables" and you can do everything you wish with just Photoshop, Excel and nothing else required, no scripting unless you have some highly-advanced circumstances.

So the following would be my answer if you're the intended user.


Scripting is recommended for if you're already inclined that way, but if you already have your hands full with other things and need this component into your workflow very fast from today, then you may want to check out the native feature. In fact, even prior to creating your own script it could be useful to view a PS variable-data tutorial and run your own mock design with some fake data through to get a sense of how PS handles its variable artwork and a hint of any potential scripting work to be involved.

Even if this workflow is for the client... Having the native alternative as a talking point and choice for the client could be potentially a method to upsell your custom script since it is more work but could be well-worth it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.