Power from the People: InDesign Scripting
︎
16 Free InDesign Scripts from the Scripting Community to Help Your Workflow, Updated for 2020
Are you a designer who’s looking for ways to increase productivity or up your InDesign game? Read on to learn about 16 new scripts that will help your workflow and learn how to get started writing your first script. If you’ve been a scripter for years, find out how you can contribute to Adobe’s InDesign community script repository.
What is InDesign Scripting?
Scripting is one of the most powerful capabilities of InDesign. It can save time, make you more productive, and add new functionality not in the product today. Scripts can do everything from very small tasks like setting a tab stop at the location of the text cursor to providing complete features. You can create your own scripts and you can run scripts that other people have created.
Any action that can change a document or its contents can be scripted. Therefore, scripts can draw frames, create new documents, enter and format text, place graphics, and print or export the pages of the document.
Almost anything you can do with InDesign’s user interface you can do with a script. There are even a few things you can do in scripting that you cannot accomplish using the user interface. For example, scripts can create menus, add menu items, create and display dialog boxes and panels, and respond to user-interface selections. Scripts can read and write text files, parse XML data, and communicate with other applications.
We tend to think of scripting in terms of long, repetitive tasks, like laying out a phone book, but it is also good for things like the following:
- Automating the myriad, small, annoying tasks that you face every day.
- Customizing InDesign to match your work habits and layouts.
- Achieving creative effects that would be difficult or impossible to attain by other means.
You can see the benefits of scripting by running simple scripts that do only one thing from the collection of scripts included in InDesign itself, or using scripts from the community. Check out the script code if you’re curious to see how they were written. From there you can move on to advanced scripts that automate your entire publishing workflow. It’s not hard to write your own either — see resources below.
Scripts are easy to run within InDesign. You can even assign a keyboard shortcut to run a script. To learn more about how to run scripts, read this helpx page.
All New Community Scripts for 2020
While Adobe puts the framework for scripting in place by making many InDesign features extensible and available for automation, the real power of scripting comes from the community of scripters. Many people have created free scripts in addition to the scripts they sell commercially and the custom scripts they develop for their clients.
Adobe has shipped a set of sample scripts with InDesign for many years. We recently worked with the scripting community who contributed some of their free scripts to the product. There’s a set in the InDesign scripting panel under Community Scripts:
︎
and even more scripts are available on the Scripting Help page which can also be reached by clicking on the info icon at the bottom of the scripting panel seen above .
The following is a curated list of useful scripts from the community that can be downloaded from the scripting Help Page. Once downloaded, copy and paste contents of the `.jsx` files into the Scripting panel to run the scripts.
- Unicode Injector by Kris Coppieters — Use keyboard shortcuts to easily insert one or more Unicode characters into InDesign text. Instructions and Website
- Insert Typographer Quote by Stefan Rakete — Use keyboard shortcuts to add defined typographic quotes before and after the selected text. Instructions and Website
- Layer Cloner by Paolo Agostinetto — This script allows you to copy one layer and its elements from one document to another. Instructions and Website
- Get x-Height by Roland Dreger — This script determines the x-height of a text passage. Instructions and Website
- Snap Margins to Text Frame by Ariel Wallen — This script to modifies the document’s margins throughout to match the selected text frame. Instructions and Website
- Break Text Thread by Ariel Wallen — This script makes breaking the thread between text frames easy. Instructions and Website
- InCopy Note Alert by Kris Coppieters — A startup script for InDesign and InCopy which alerts you to the presence of notes. Instructions and Website
- Copy Paste Coordinates by Kris Coppieters — This script allows you to copy and paste coordinates onto page items. Instructions and Website
- Chain Grep by Gregor Fellenz — Chain Grep helps you chain InDesign GREP Queries to new scripts. Instructions and Website
- Clear Overrides by Gregor Fellenz — Clear style overrides from InDesign text, tables or objects. Instructions and Website
- Invert Selection by Luis Felipe Corullón — This script inverts the selection in an InDesign document. Instructions and Website
- Layer Cloner by Paolo Agostinetto — This script allows you to copy one layer and its elements from one document to another. Instructions and Website
- End Notes to End of Book Notes by Peter Kahrel — Convert end-of-document endnotes to end-of-book endnotes. Instructions and Website
- Renumbering Endnote References by Peter Kahrel — This script creates endnotes whose references do not update automatically when you add or remove endnotes. Instructions and Website
- Size Thing to Page by Olav Kvern — This script resizes the current selection (such as an image) to the size of the page. Instructions and Website
- Size Page to Thing by Olav Kvern — The inverse of the previous script, this script (predictably) resizes the page to the size of the current selection (such as an image). Instructions and Website
Almost all of the developers who contributed scripts offer more scripts on their website(s), see the links above.
Start Scripting Now: Resources for Beginners
You don’t have to be a developer to write a script! It’s easy to learn how to write simple scripts. To learn more about developing your own scripts, start with this Help page. A scripting guide and more can be downloaded from Adobe.io
Our friend at InDesign Secrets have a lot of additional information on InDesign Scripts and recently published an article expanding on the Community scripts.
Need more help to get started? There are many training modules on LinkedIn Learning (formerly Lynda.com).
Advanced Scripting Resources
For those who want to develop more advanced scripts, many of the scripters who contributed also provide training, and several have written books on InDesign and scripting, like Peter Kahrel, Olav Kvern and Gregor Fellenz. The community has also created additional tools and resources like the enhanced documentation of InDesign’s object model from Gregor Fellenz who has continued to update a similar project started by Theunis de Jong and this useful reference diagram for advanced scripting .
Already a Scripter? Here’s How to Contribute to the Community Repository
Adobe uses GitHub, an open developer platform for hosting, collaboration and version control. We have a scripting repository on Github for the community scripts. If you are already an InDesign scripter and have scripts you would like to contribute to the community scripting repository, here’s how the process works:
Please email Adobe at scripts@adobe.com with details about the script you would like to submit. Adobe will review your proposal and try to respond in 72 hours. Adobe will review the script for overall usefulness and security
- Provide a link to your script in your own Github repository
- Make sure the script is well documented
- No binary scripts are permitted
- Javascript is preferred but Adobe will consider Applescript
- Choose an Open Source License for your script. https://choosealicense.com/. You may use either the MIT or GNU license Place the License terms in a file called License in the folder of the script Include the License header in the script
- Adobe may have questions or requests to modify
- If Adobe selects your script to be included in Adobe’s InDesign Community Script Repository, we will create a fork and copy the script. Adobe will maintain the links to community scripts on our Scripting Help page
- If you make updates to your script, notify Adobe and submit a pull request
See further details in the ReadMe file.
Beyond Scripting . . .
While scripting is the easiest way to automate tasks and add functionality, InDesign extensibility can be taken further through plugins. This is not something the average designer would build on their own as it requires knowledge of C++ programming. It’s worth looking at the Creative Cloud Exchange marketplace for more enhancements to InDesign beyond scripting.
Try A Script Today
Scripting is one of the best ways to become an InDesign power user.
- Try the scripts that ship with InDesign and check out the Community Scripts on the Scripting Help page
- Don’t be afraid to try simple scripting. No Development experience needed!
- If you’re already a power scripter and think you’ve got a script worth sharing, contact Adobe at scripts@adobe.com