Members Only

The Power of Scripts

Scripts are little engines that can supercharge your workflow. Here’s how to find ’em, use ’em, and make ’em with the help of AI.

This article appears in Issue 47 of CreativePro Magazine.

Over the course of my career in design and publishing, I’ve seen a lot of technology come and go. I’ve seen the tools of the trade evolve from wax pencils to GenAI. I’ve written and recorded countless tips and tricks for Photoshop, Illustrator, and InDesign. And if you were to ask me for my all-time top tip for those apps—the single most important bit of knowledge I could share—it would be this: Use scripts whenever you can

Scripts give you superpowers. They allow you to automate tasks that are tedious and time-consuming, accomplishing in seconds what would take you hours to do manually. They reduce boredom and drudgery. They eliminate inconsistency and errors. And they can free up your time to focus on things you find more enjoyable—or to take on additional work. With the help of scripts, you will impress your boss, your coworkers, and your clients. (Don’t even tell them you used a script—let them think you’re a magical being.) If your goal is to be more productive or to have less frustration and more fun at work, you need to be using scripts. 

In this article, I’ll share my best tips for how to incorporate scripts into InDesign, Photoshop, and Illustrator workflows. I’ll show you where to find scripts, and how to install, organize, and run them. You’ll also learn how to make use of AI to create your own scripts and what to do when you need to call in a professional for a large-scale automated solution.  

Where to Find Scripts

Assuming you’re on board with the idea that you need to be employing scripts in your workflow, the first natural question is: Where do you find them? Fortunately, there are plenty of great places to look.

The Peter Kahrel Collection at CreativePro

For starters, you don’t need to go very far, because CreativePro is home to stacks of great scripts, especially for InDesign users. The first place to check is the collection of Peter Kahrel’s scripts on the CreativePro website. It’s home to more than 150 thoroughly documented and updated scripts for all kinds of complex tasks in InDesign. Whether you need to manage a ton of tricky endnotes or batch convert a pile of files, odds are Peter’s got something that will help you out.

Scripts from InDesign Magazine

Over the years, hundreds of scripts were featured in InDesign Magazine. Here’s where you can browse and grab many of them.

You’ll find themed script collections in the following issues:

Issues 143–150 of InDesignMagazine featured a Script of the Month for members to download.

Other InDesign scripters

Here are some other scripters with great collections of InDesign scripts that you should check out.

Photoshop scripters

Want to explore some cool collections of Photoshop scripts? Here’s where to go.

Also, see Issue 19 of CreativePro Magazine for a collection of 10 Great Photoshop Scripts.

Illustrator scripters

Illustrator users can join in the fun too, with the help of these talented folks.

Also, see Issue 28 of CreativePro Magazine for a collection of 10 Great Illustrator Scripts.

Five Indispensable InDesign Scripts
Five Illustrious Illustrator Scripts
Five Phenomenal Photoshop Scripts

Installing Scripts

Once you’ve acquired some great scripts, you need to put them where your apps can see them and run them. Here’s the scoop.

Installing scripts in InDesign

Start by opening the Scripts panel (Window > Utilities > Scripts). Then, in the panel, right-click User and select Reveal in Finder/Explorer. This will open a window where you can see the Scripts Panel folder and move scripts into it.

Tip: Make an alias/shortcut to this folder and put it somewhere handy. I have a feeling you’ll be going there a lot after reading this article.

Startup scripts are a special category of scripts that are launched automatically when you start InDesign. They can do things ordinary scripts can’t, such as create menu items. To use these scripts, you need to place them in the Startup Scripts folder (which is next to the Scripts Panel folder) and restart InDesign.

Organizing Scripts in InDesign

One way to deal with a large script collection is to organize it. Open your User scripts folder by right-clicking it and choosing Reveal in Finder/Explorer.

Then, create subfolders for each category of scripts. I use folder names like Book Scripts, Image Scripts, Table Scripts, and so on. By default, scripts will be listed in alphabetical order, but you can rearrange them in any order with a naming trick. Add 00) to the start of the file name of the script you want to appear first in the panel list. Then, add 01), 02), 03), and so on to the file names of other scripts.

The numbering won’t appear in the panel, but it will control the order in which the scripts are listed there.

Installing scripts in Illustrator

Save the script file into one of the locations below, then restart Illustrator. The script will appear in File > Scripts.

  • Windows: C: \Program Files\Adobe\Adobe Illustrator [version]\Presets\[language]\Scripts
  • macOS: /Applications/Adobe Illustrator [version]/Presets/ [language]/Scripts

Installing scripts in Photoshop

Save the script file into one of the locations below, then restart Photoshop. The script will appear in File > Scripts.

  • Windows: C: \Program Files\Adobe\Adobe Photoshop [version]\Presets\Scripts
  • macOS: /Applications/Adobe Photoshop [version]/Presets/Scripts
Scripts May Be Free, But Coffee Isn’t

Many scripters have generously made their offerings free to download, with a link to make a donation (a.k.a. “buy me a coffee”). If you benefit significantly from using a free script, please remember to use that link to show your appreciation.
It’s the right thing to do, and it supports their future efforts.

Running Scripts

At last, we come to the spot where the rubber meets the road. Time to run your scripts and watch them do their magic. 

In InDesign, the most basic way to run a script is to double-click its filename in the Scripts panel. Illustrator and Photoshop don’t have a Scripts panel. In those apps, choose File > Scripts to select and run your installed scripts.

With keyboard shortcuts

It’s even faster to run scripts with the flick of a finger (or two) on your keyboard. See this post at CreativePro for instructions on assigning keyboard shortcuts to scripts in InDesign.

The same process works with Photoshop and should work with Illustrator, but some scripts don’t show up in the Illustrator Keyboard Shortcuts dialog box. Instead, try recording an action that runs a script and assign a shortcut to the action, following these instructions.

With Quick Apply in InDesign

Now that you have a taste for speed, are you ready for life in the fast lane? If so, it’s time to start using Quick Apply to run your scripts. Quick Apply is the fastest way to find and run scripts in InDesign. But in order to use it, you have to turn on Include Scripts in the menu.

Next, press Ctrl+Enter/Command+Return to launch Quick Apply and start typing the name of the script you want to run. When it’s highlighted, press Enter/Return to run it.

Tip 1: Turning off Menu Commands will save you a lot of time and typing (if you don’t also want to execute them via Quick Apply). 

Tip 2: Typing s: first will filter the list to show only scripts.

Using AI for Scripts

You can use AI tools such as ChatGPT, Claude, Mistral, and Gemini to generate JavaScript code to automate InDesign, Illustrator, and Photoshop. 

OMATA Labs produces extensions for InDesign, Illustrator, and Figma called MATE that can leverage AI to generate scripts, GREP, images, and more. A version of MATE for Photoshop is also in development and expected to debut soon.

You can’t beat MATE for convenience, because you don’t even have to leave the app you’re using to script it. MATE also helps you keep your scripts handy and easily editable. It will automatically try to fix scripting errors for you. It can build interfaces for your scripts, manipulate files on your computer (e.g., linked images), and save your favorite scripts and prompts in handy libraries. It’s definitely worth checking out. For a full rundown on using MATE, check out Jean-Claude Tremblay’s article in Issue 46.

Tips for prompting AI to write scripts

With apologies to Shakespeare, the prompt’s the thing. A precisely crafted prompt can yield miraculous results. A poor one can make you think AI is incapable of the task at hand. Here are a few tips to keep in mind when prompting your favorite AI to write a script.

  • Set the scope by telling the AI what to act on (“For selected items:”).
  • Use quotation marks for names or terms.
  • Start small and basic. Break big tasks into steps.
    Once you know something works, add more tasks.
  • If something doesn’t work, just tell the AI to fix it and give it the error message if you have one. Treat it like a conversation (“That didn’t work. Tell me why.”)
  • Each chat is unique. If something doesn’t work, copy the prompt to a new chat. The AI may try a different solution.
  • When all else fails, try a different model.

Remember, the AI can’t see your document. It’s not a person. It doesn’t “know” anything; it’s just predicting what should come next in the code based on the data it’s been fed. So, describe everything specifically with all relevant details. Don’t say: Make a red circle. Say: Create an ellipse W:2p H:2p, position centered on the page, with a 3pt stroke r=255g=Ob=0, fill:[None].

More articles on scripting with AI

For deeper dives into writing scripts with the help of AI, see Alan Gilbertson’s article in Issue 35 and Katja Bjerrum’s article in Issue 42.

A Scriptacular Bonus
for CreativePro Members

A great resource for learning how to script InDesign is Peter Kahrel’s ebook, JavaScript for InDesign. This comprehensive guide, published by CreativePro, retails for $14.95 but is free for CreativePro members.
Grab your copy today, and get scripting!

JavaScript for InDesign ebook

Tips for Working with a Developer from Keith Gilbert

Once you get a taste for the kinds of things you can accomplish with scripting, you might start to dream big of bigger things: automated workflow solutions that go beyond what simple (or even complex) scripts can do. When that happens, you need to contact a developer. Here are some important tips for successfully navigating that scenario, compiled by developer extraordinaire Keith Gilbert.

  • Do your homework, and have example files ready. You don’t need to describe how you want the script to work, but you need to be able to describe in detail what you want the script to do.
  • If it’s a complex project, you may need to compensate a developer for “discovery,” the process of learning about what you’re attempting to accomplish, your workflow, and the project requirements. It’s reasonable for a developer to charge for this if you haven’t written detailed requirements, or if the requirements are such that it will take some work to determine the feasibility of a scripted solution. Bottom line: The more information you can provide up front, the more quickly the developer can do their job, so the less expensive the solution will be.
  • Remember that a script cannot add a totally new feature to a program. But a creative developer may be able to achieve a similar result by brute force methods with existing features.
  • A good developer will ask you how many people will be using the script, for how long, on how many documents, and how widely the use cases vary. A script that will be used by lots of people on a wide variety of documents will need to have error checking built in, and that can quickly add to the cost of a script.
  • It’s reasonable to provide a developer with a general idea of what the script needs to do and ask them for a very, very rough ballpark cost estimate before getting into the weeds with details. This can help you to avoid wasting each other’s time if you have very different budgets in mind.
  • Ask the developer who will own the code at the end. Most developers retain copyright to the code they write so that they can reuse modules on other projects. But you should ask if they will provide a JSX/IDJS file or a JSXBIN file at the project’s end. The difference? A JSX or IDJS file can be opened and edited in the future by you or another developer.
Actually, There’s a Script for That

One of the great benefits of CreativePro membership is access to member-only videos.

Check out Mike Rankin’s session from CreativePro Week 2025, “Actually, There’s a Script for That,” to see him demonstrate several of the scripts mentioned in this article.

Member-Only Video: Actually, There's a Script for That

Scripted Satisfaction

Using scripts gives you the power to accomplish more with speed and ease. But it also does something even more important: It gets you imagining what else you could do with the resources that were freed up. You can bank that saved time and energy or spend it on activities that are more personally or professionally rewarding. And in the long run, that might be the most superb of the superpowers that scripts give us.

Bookmark
Please login to bookmark Close

Not a member yet?

Get unlimited access to articles and member-only resources with a CreativePro membership.

Become a Member

Comments (0)

Leave a Reply

Your email address will not be published. Required fields are marked *

Loading comments...