20 Awesome Scripts You Need to Know About
A collection of handy scripts to help with tasks large and small.

A collection of handy scripts to help with tasks large and small.
I like to refer to scripts and other add-ons as “InDesign’s Little Helpers.” They are easy to install (usually no restart required!) and are often my favorite price (FREE!*). But mostly I love finding scripts that perform a task that InDesign doesn’t do natively, or that the script just does better. They make InDesign life easier, which is always a good thing. In this article I’ll focus mainly on scripts that have never appeared in InDesign Magazine before, while tossing in a few noteworthy classics that are just as useful today as when they were written.
Faster Text Variable Editing
Custom text variables let you insert arbitrary text strings anywhere in a document while maintaining individual styling on each instance. Sounds great, and for the most part, it is. But editing a text variable can be a tedious multi-click process. The InstantVariable script from Indiscripts makes updating custom text variables a snap.
To start, run the script to toggle it on. With the script activated, simply select any instance of a custom variable on the page, edit it as desired, and voila! All other instances are instantly updated throughout the document. Running the script again toggles it off.
Sort Images in a Place Cursor
When you select multiple files to place into your InDesign layout, they are loaded into the Place cursor in alphabetical order. So if you wanted to place a bunch of pictures from a zoo, the aardvarks would always show up in your cursor first, the zebras always last. And to place images in anything but alphabetical order requires a bit of fancy fingerwork with the keyboard arrow keys to cycle through the images
loaded in your cursor. But the sortFilesBeforePlace script from Roland Dreger changes all that. It gives you the option to place according to seven different criteria. Choose between filename, creation date, modification date—each with ascending/descending options—or even random order! The script comes in two flavors: a script that lives in the Scripts panel and a startup script version that’s activated via a menu command.
Take the Toil out of Tables
Creating a table that incorporates cell styles—that may in turn incorporate paragraph styles—can be time-consuming. Adobe Forum user Sanjiv released the aptly-named Table script to take away some of this tedium. Selecting non-table text and running the script will first convert the text to a table, and then style that table with the predefined paragraph, cell, and table styles. You can update the styles to your liking in the proper styles panel. The script can also be used on existing tables (Figure 1).

Figure 1. Before and after running the Table script on tab-formatted text
Make Intelligent Adjustments
You can get back some of the old Layout Adjustment behavior from pre-CC2019 days with the Apply Masters with Layout Adjustment script from Id-Extras. This script brings back the functionality wherein changing a master page with different margins adjusts the size and position of text frames to maintain their relationship with those margins. The script integrates well with Id-Extras’ paid Mastermatic script, which assigns master pages based on paragraph styles on the page.
Your Pasteboard Pal
Most of us use the pasteboard as sort of a catch-all for items not currently in use. If you find yourself often moving items out to the pasteboard, then back onto the page, the Move to Pasteboard script can make your life easier. If items are selected, it moves those horizontally to the pasteboard, and with nothing selected, everything is moved. Selecting items on the pasteboard and running the script puts those items back where they were on the page.
Import Instantly
InDesign gives us an easy way to import swatches, styles, and master pages from other documents, but each import is done from the corresponding panel. Luis Felipe Corullón’s Import What You Want script does just what it says. It lets you cherry-pick what to import—including paragraph and character styles, object styles, master pages, swatches, and table and cells styles—all at once.
Highlight GREP Matches
If you’re a GREP-ophile like myself, the highlightGREP script will certainly spark joy. The script lets you enter a GREP expression, and with Live Mode turned on, it highlights the found text for you throughout the document (Figure 2). The interface gives you familiar search options like restricting to master pages and including footnotes, and it even lets you copy matched text from the document onto the clipboard.

Figure 2. Text that matches the GREP expression is highlighted in the document.
Show Your Styles
The appliedParagraphStyle script from Roland Dreger creates visible indicators for the paragraph styles in your document. The script comes in two varieties, the first of which creates flags with the style name. The style flags get put on their own layer so you can print them or not (Figure 3).

Figure 3. Paragraph styling with flag labels
The second variety assigns text conditions to each paragraph style. View the styles using the visibility and indicator controls in the Conditional Text panel (Figure 4).

Figure 4. Paragraph styling with conditional text formatting
Automate Bleeds
If you know the frustration of forgetting to pull out images to the bleed guide, here’s a little script that does the work for you. Indiscripts’ FillBleed resizes image frames to accommodate the bleed for images that are placed in position at the edge of the page. Options include running the script on a selection, a spread, or the entire document, and you can limit the frame change to just the X or Y axis (Figure 5).

Figure 5. The Fill Bleed options
Make Text Fit
In-Tools’ text-fitting scripts help in situations where you need your copy to conform to the size of a text frame. The first script, called FitTextPrefs, sets the frame-fitting preferences for another script called FitToFrame. That script then fits existing text—including overset text—to the width of the frame, scaling and adding lines if needed. The third script, FillTextFrame, sizes text to fill both the width and height of the frame.
Export as Single-Page PDFs
Using InDesign’s Book feature is a great way to export multiple files as one cohesive PDF, but exporting a Book as single-page PDFs just wasn’t possible—until now. Peter Kahrel’s pdf_individuals script gives you options for exporting each document within the book as a PDF, each page as its own PDF, and exporting by sections. When necessary, the script appends the PDF filenames with page numbers, section markers, or section prefixes.
Achieve Next Style Nirvana
Another script from Adobe Forums user Sanjiv makes quick work of creating a paragraph style sequence. The Quick Paragraph Style script sets up a few styles that incorporate the Next Style feature. While it creates the styles framework, you can customize the attributes and the naming of each style. It works on an all-or-nothing basis—affecting all the text in a frame—so use with caution in long or threaded text frames.
Eliminate Empty Frames
Documents have a habit of getting cluttered with things we don’t need, including empty frames. Colin Flashman’s Empty Frame Remover script finds and deletes frames that are empty not only of content, but of styling as well. It works on the entire document, won’t delete frames with type on the path, strokes, fills, or even text wrap, and it will leave threaded text frames alone (Figure 6).

Figure 6. Before and after running Empty Frame Remover
Set Up Sidenotes
Peter Kahrel’s Sidenotes scripts make it easy to put notes along the margins of your document. The main script converts footnotes to sidenotes as anchored frames, so they will travel with the associated text. Set options for the width of the notes, offset value from the main text, and whether you want to include numbering (Figure 7). The supporting scripts allow you to convert back to footnotes, restart numbering, and insert new notes after the conversion.

Figure 7. The Sidenotes scripts move footnotes to margin notes.
Run a Series of GREP Queries
ChainGREP by Gregor Fellenz lets you string together existing Find/Change GREP queries to run as a sequence. Run the script to get a list of your saved queries and define the search’s scope. The icing on this cake is that you can then save that chain as a script that will run with a double-click!
Achieve Table Togetherness
If you’ve ever needed to combine two tables, you may have gone the copy-and-paste route. Luckily, there is a less time-consuming way to accomplish this: In-Tools’ Merge Tables script. Just select frames containing two tables and run the script. Choose whether to merge below or to the side, and the script will even add empty cells to account for different numbers of columns or rows (Figure 8).

Figure 8. Tables before and after merging them
Create Gutter Lines
InGutter from Indiscripts is one of my go-to timesavers. The script lets you add rules between and to the sides of text columns. Whether you need divider rules between multiple columns or want rules on either side of a pull quote, InGutter makes easy work of it (Figure 9).

Figure 9. InGutter puts readjustable strokes between text columns.
Other options include changing the number of columns, rule attributes, and background color, but the magic feature is that the rules will shrink or grow when the text frame is resized. Note that InDesign 2020 now offers this feature (see “What’s New with InDesign 2020”), but the script still has a couple features that InDesign doesn’t.
Separate Text—Or Merge It
These two scripts from Ajar Productions deal with two sides of the same coin. Split Text lets you split existing text into individual frames by paragraphs, words, character, GREP expression, and more. This makes it easy to move or style the separate elements as needed. Conversely, if you have separate text frames and need them to live in one frame, the Merge Textframes script combines them, with options for separator character and sort order.
Collaboration Coolness
Layout Zone is a startup script—accessed via a menu—that lets you create a standalone InDesign file from selected objects. You can easily break out parts of your document for others to work on, and the created file can be reimported as an image exactly in place if you choose. If you need to return the placed InDesign file to its native components in the original file, Layout Zone lets you do that, too.
Create Custom Calendars
Calendar Wizard has been around for years, but it is like an old friendship that just keeps getting better with age. This script—which is free for non-commercial use—offers options for customizing the date range and which day of the week to start on, putting text on separate layers, page orientation, and language. It creates a table with styles for easy customizing and updating. One of the best features of Calendar Wizard is the additional script that adjusts the calendar when the text frame is resized (Figure 10).

Figure 10. Calendar Wizard’s many options for calendar creation
Commenting is easier and faster when you're logged in!
Leave a Reply
Recommended for you

Illustrator Downloadable: Tropical Shadow Overlay Kit
Downloadables are an exclusive benefit for CreativePro members! (Not a member ye...

Illustrator Downloadable: Summer Citrus Pattern Set
Downloadables are an exclusive benefit for CreativePro members! (Not a member ye...

InDesign Downloadable: Tables SuperGuide
Downloadables are an exclusive benefit for CreativePro members! (Not a member ye...
I was hoping to get an updated Calendar script but I get a “This site can’t be reached” error. Did the script get relocated?
It looks like they have changed the format for their links. You can find it here: https://sourceforge.net/projects/calendarwizard/
Is Peter’s site down? All links for his scripts is not found.
Ah, apologies! All of Peter’s scripts now live on CreativePro’s site: https://creativepro.com/files/kahrel/indesignscripts.html
Thanks for bringing this to our attention.
Thanks for this listing. I was having difficulty using the StyLighter script and the appliedparagraphStyle is very helpful and efficient.
This is a great article. I have been working with Indesign for only a few years, but I learn something everytime. The merge tables script is great. Can it unmerge tables also, such as splitting a calendar with more than 1 layer across 2 pages with a spine?
Glad it was helpful! The script doesn’t split tables, no. What do you mean “more than one layer” in a table? Because if you just need to continue the table on the next page, you can just link text frames.