20 Free Must-Have Scripts for InDesign Users

Excerpted from InDesign Magazine, August/September 2012 (issue 49). Subscribe now! In addition to the HTML version of the excerpt below, you can also download the excerpt as a PDF that retains the full design of the magazine. This PDF is best viewed in Adobe Acrobat or the free Adobe Reader.

Congratulations: By starting to read this article you have taken the first step towards making your life far easier! I’m going to uncover a secret that can transform you from a regular InDesign User to a super-powered force of nature! The trick is based on what I (immodestly) call Blatner’s First Rule of Publishing: Take a little time now to save far more time in the future.

One of the best ways to apply this rule is to find a script or plug-in that does your work for you. Most scripts are extremely easy to use and can save you hours of time. The hardest part is knowing what’s available and where to get them. Fortunately, I’m going to make it easier for you by providing a list of twenty awesome scripts. Of course, I’m not saying you need all of them, but you do need to know about all of them! You never know when one will come in handy.
By the way, if you don’t know how to install and run scripts, you’re not alone. Fortunately, it’s really simple. Here’s the really quick version: Open the Scripts panel (Window > Utilities > Scripts). You’ll find pre-installed scripts inside the Application/Samples/ Javascript folder in the panel. To run one, double-click on it.

If you want to install a script you have downloaded from the internet (it should have a .js or .jsx extension), right-click the Users folder in the Scripts panel and choose Open in Finder (or Open in Explorer in Windows) from the context menu.

Put your scripts inside the Scripts Panel folder (not the Scripts folder). Make sure it ends with .js or .jsx (sometimes scripts get a .txt added to their name when you download them from the internet). Next time you look at your Scripts Panel, you’ll see the script inside the User folder—no need to restart the program. Double-click it to run the script.
Note that these scripts are in alphabetical order, not order of awesomeness or functionality. Click on the script name to jump to a web page from which you can download the script. Or go to http://InDesignSecrets.com/free for the full list of links to the sites where you can download the scripts. In most cases you’ll find other scripts worth checking out, too. I want to thank Mike Rankin, Anne-Marie Concepción, and Erica Gamet for pointing out some of these that I hadn’t seen before.


One of the most stunning examples of a free script available is CalendarWizard, a tour de force by Scott Selberg that he has posted at the popular open source SourceForge site.

CalendarWizard can create calendars in a wide variety of forms, and with a wide range of options — including holidays, phases of the moon, and calendars in over 20 different languages (Figure 1)! Best of all, the calendars are all based on paragraph, table, and cell styles, so it’s extremely easy to customize them. Scott has created a number of simple and excellent tutorials to help you through the process. Note that I also wrote about CalendarWizard in Issue 21 of InDesign Magazine (December 2007).

Figure 1: Calendar Wizard’s dialog box is huge, but doesn’t take long to figure out.


Do you run the same find/change queries repeatedly? Do you have ten different find/ change queries that you have to run one after the other? You need FindChangeByList, and the good news is that you already have it—it’s one of the free scripts that are installed by default into the Samples folder inside the Scripts folder. The hardest part of using this script is the text file you have to create to control the script. The text file tells the script what it should find and what to replace it with. It’s not rocket science; but it does take some time and effort to figure out (see my lynda.com movie for details). You can save a lot of time if you use some additional scripts, mentioned in this blog post: Find-Change Scripting Goodness. But honestly, you can save even more time if you use an inexpensive third-party product called Multi-Find/Change.


Do you need endnotes in InDesign? Tough luck, because InDesign only offers footnotes! Fortunately, there is a cool workaround, involving cross-references. And even more fortunately, Peter Kahrel has made a script that can convert your footnotes into endnotes! Even better, he has other scripts that can convert footnotes into side notes (which sit in the margins) and more!

History scripts

Have you ever needed to undo back 20 steps? And then you get there and realize, nah, you were better off redoing 18 of them? There are several History plug-ins out there, but Harbs at In-Tools created two simple free scripts that give you a list of all the Undo or Redo steps (Figure 2). Just choose a step, click OK, and it takes you there.

Figure 2: The History scripts let you undo or redo as many steps as you want, using a convenient popup menu.
You can set a keyboard shortcut to these scripts (or any other script) for easy access by choosing Edit > Keyboard Shortcuts and choosing Scripts from the Product Area popup menu.

IndyFont beta

IndyFont turns InDesign into a font creation application—yes, you can literally design and export a font! That may sound crazy, but in fact it has some excellent uses. For example, need a custom bullet character? Or custom numbering for a fancy auto-numbered list? What about a custom icon at the end of your magazine story? All these things require a custom font. In the past, that meant not only buying another application, but learning it! IndyFont lets you do it with tools you already know, and while the free “demo” version only exports a single character in the font, it lets you create as many fonts as you want.


It’s a common request by InDesign users, especially folks who make newsletters and magazines: We want a way to run lines (rules) between each column. It’s not that hard to do manually, but it is tedious and frustrating if you ever need to change the size of the frame. Enter InGutter, a wonderful tool that uses a clever trick to add the lines for you (Figure 3). Even better, when you resize the frame, the rules change automatically, too!

Figure 3: InGutter can add guides between or around any multi-column text frame.


Did you ever wish you could take a section of your page and hand it to someone else to work on? LayoutZone lets you convert any part of your spread into an editable InDesign document; then later, after it’s edited, you can update the “zone” in InDesign or convert it back into editable objects again. You can even use it to convert any placed InDesign document into editable objects. LayoutZone needs to be installed in a different location (the Scripts panel inside the application folder, not the Scripts Panel folder), but easy-to-understand instructions on the developer’s site lay it out for you. This tool may sound complex, but it’s actually very easy and has the potential to supercharge your workflow!


This is one of my favorite scripts, and not just because I was partially responsible for it being written. A client of mine needed a way to split a single frame into a grid of smaller frames (they were using it to create real estate and car ads). I asked Olav Martin Kvern (who was working at Adobe at the time) and he fixed this up in a jiffy. It was so useful that Adobe decided to add it to the Samples folder, which is where you’ll find it today (Figure 4).

Figure 4: The MakeGrid script breaks any empty or graphic frame into a bunch of pieces (left). For text frames or open paths, it makes duplicates in a grid (right)!

Merge Tables

InDesign has a lot of features for working with tables, but it’s lacking some features that you’d think were no-brainers. For example, have you ever tried to combine two tables together? It’s almost impossible… unless you have a script like Merge Tables. Just select two tables with the Type tool, then run the script. It lets you combine them vertically (one on top of the other, adding more rows) or horizontally (side by side, adding more columns).

Multi-page Importer

It’s easy to place two or more pages of a PDF into an InDesign document with the Import Options dialog box, but you have to click at least once for each page you’re importing. Wouldn’t it be cool if you could just import two or more pages automatically? InDesign ships with a free script (in the Samples folder) called PlaceMultipagePDF which can help. When you run it, it asks you to choose a PDF, and then it asks if you want to place the pages in a new document or the current one. But that’s about the extent of its power. If you want to supercharge the import, use MultiPageImporter, which lets you rotate, scale and position the PDF just where you want it (Figure 5).

Page Exporter utility

If you need more control over how your documents are exported to PDF (or EPS or some other format), then check out the Page Exporter Utility (PEU), which has been a staple of many people’s production lines for years. PEU lets you export your InDesign documents as single-page files (instead of putting all the pages or spreads into one PDF). What I use it for most commonly is layer versioning. For example, you might have a “base layer” and then three different language versions (say English, French, German). PEU can export multiple PDF files as base+English, base+French, and base+German. Simple and super efficient!

Figure 5: MultiPageImporter lets you import a bunch of pages from any PDF or INDD file very quickly and accurately.


Let’s say you have a thousand different numbers in your InDesign story and you need to increase each of them by 1. Or you have a hundred prices in your catalog and you need to decrease them all by 30 percent. Computers are supposed to be good at doing math, right? So let the NumberAdjuster script do the heavy lifting for you! You can add, subtract, multiply, or divide all the numbers in your story or document. It even lets you adjust just the numbers that have a dollar sign in front of them, or just ones that match a particular GREP pattern. It’s very powerful, and very fast.


Need to make your text exactly 72 points tall? That’s surprisingly difficult in InDesign because the point size of text typically includes space above the ascenders and space below the baseline (to make room for descenders). Fortunately, you can use this script to figure out the size for you. Just select some text, run the script, and tell it how large you want the text to be (based on the size of a specific letter). For example, you could say “make the uppercase A be exactly 30 mm tall.”

Size Labels

Need to know exactly how large every frame is in your document because you’re working with very strict guidelines? Don’t click on each frame one by one; just run the SizeLabels script and every object is suddenly adorned with a little label showing its dimensions. You can edit the script (sounds scary, but it’s really easy!) to change the measurement system it uses from inches to something else, and you can add paragraph and object styles to customize the labels. Best of all, the script places the labels on a special layer, so it’s easy to hide or even delete them. While you’re at the Rorohiko site, look around at the many other products they have!


It’s almost impossible to tell where styles are applied in InDesign unless you click on every bit of text manually, or the style is easily identifiable by eye. Worse, there’s almost no way to tell where someone has applied local formatting (text that has paragraph or character formatting on top of the style definition). Both these problems are handled by the amazing StyLighter script. When you run it and enable the Activate the Preview Mode checkbox, then all local character formatting gets a red line through it; local paragraph formatting gets a line along its left side. These lines don’t print; they’re on-screen-only. Even better, the StyLighter dialog box lets you assign a different color for each paragraph or character style (Figure 6). Again, it’s for screen viewing only, and you can make it all go away by running the script again and turning off that checkbox.

Table Sort

I’m actually going to mention two scripts here. First, you have to know about the SortParagraphs script that ships in InDesign’s Samples folder (in the Scripts panel). It’s terrific for sorting any kind of list, whether numerically or alphabetically. But it only sorts paragraphs and can’t sort data in a table! That’s where Peter Kahrel’s TableSort script comes in handy. It can sort tables in all the ways you’d typically want (Figure 7).


You know how choosing Type > Fill with Placeholder Text fills up any frame? Unfortunately, it doesn’t work for tables. But Marijan Tompa’s TomaxxiFillTable does the job admirably, letting you fill with text, numbers, date/time stamps, and more. But the feature I like the most is its ability to insert consecutive numbers. For example, you can fill a column with numbers from 100 to 1000 with a quick couple of clicks. Remember to select the cells in the table that you want to fill before running the script.

Figure 6: When you turn on the preview mode in StyLighter, you can see what styles are applied and if any local formatting has been applied on top of those styles.


One of the most confusing and annoying aspects of object styles is that the Default Graphic Frame Style is not applied to graphic frames—it’s only applied to empty “unassigned” frames. This is particularly frustrating when importing images that you want placed into a frame with a particular object style. That’s where TomaxxiPlace2 comes in. This is a startup script (so it doesn’t go in the Scripts Panel folder) and the instructions are clearly laid out in the link above. The result is that whenever you use File > Place to import a graphic, InDesign will assign the default graphic frame style, giving you the result you expect and want.

Figure 7: TableSort is great for sorting a table alphabetically.


The last script on here is addictive; once you start using it, you’ll want to run it at least ten times in a row. Wordalizer is a script that makes a “word cloud” of the most common words in a story or document and lays them out in a clever and colorful way (Figure 8). While most people don’t need a word cloud in their documents, it is an awesome way to make your publication look super cool.

Figure 8: Two layouts from the same document, created by the Wordalizer script.

Save First!

Some coders write their scripts in a way that you can use Undo to easily revert back to the state of your document before you ran the script. However, many scripts don’t do this (especially older scripts). The result is that if you try to undo after running one of those scripts, you may have to choose Undo about 50 times (once for every action the script performs). Instead, save your document before running the script! That way, if something goes terribly wrong (or you just don’t like the result), you can choose File > Revert and you’re back in action quickly.

It Didn’t Work! Now What?

I’ve tried all the scripts in this article, and they generally work fine. However, every so often scripts spit back errors at you when you try to run them. These errors are often really scary and unless you’re a scripter you may not know what to do. My suggestion is to try the script on a different document and see if it works there. Try setting up the document differently (for example, some scripts want you to select something first; others don’t want anything selected). Sometimes older scripts just don’t work right in a new version of the product. Some scripts in this article even say they’re designed for CS4 or CS5, but they do appear to work in CS6. Other times it’s some weird bug that might affect just you or your situation. You can sometimes go back to the developer, report the bug, and see if they’ll fix it for you. But because these are free, the developer may not get around to fixing it for a while. If it’s important for you, consider offering them a small fee to help motivate them. Speaking of which…

Return the Favor!

Just because these scripts are free doesn’t mean they’re not worth a lot! If you find yourself saving money or time using a script, consider donating to the developer, or buying some other product from them! Most of these scripters have a Donate button on their site. You’d be amazed at how sending even $20 or $50 makes a huge difference to these folks. (And believe me, you’re likely to save hundreds of dollars in time, so it’s more than worth it.)

David Blatner is the Editorial Director of InDesign Magazine and the co-creator of InDesignSecrets.com. Check out his own software tool at BlatnerTools.com.

Posted on: November 28, 2012

David Blatner

David Blatner is the author or co-author of 15 books, including Real World InDesign, Spectrums: Our Mind-Boggling Universe From Infinitesimal to Infinity, and The Joy of Pi. He is also the author of InDesign Essential Training and the InDesign Insider Training titles at lynda.com. David is the co-host of InDesignSecrets and PePcon: The Print + ePublishing Conference, and is the co-founder of Creative Publishing Network.

25 Comments on 20 Free Must-Have Scripts for InDesign Users

  1. Hi, I had a script for generating a font sample book (installed and system fonts) in InDesign for CS4, I think. My problem is it got corrupted and my boss is asking for updated books. Do you know of a similar script?

  2. thank you!!!!

  3. Hi David

    Great and useful 🙂

    Do you know of any script that will help me copy the content of one table into another (target) table without losing the formatting of the target table?

    I found this from Dave Saunders, but unfortunately the download link is no longer available:

  4. I need a script to make all of the phone numbers listed in my book a clickable number when the document is saved on an iphone. My document is created in InDesign and then exported into a pdf. By the way: there are more than 2,100 phone numbers listed in this book. Does anyone out there know of such a script?

  5. I need a script that place bookmarked pdf into indesign and still reserve the bookmarked from the pdf after export out from indesign

  6. Michael Coleman

    March 24, 2017 at 2:01 pm

    I develop textbooks that have margin icons that include descriptive text. There are “Key Concept” icons, “Discuss” icons, and a few others. Right now, it’s a manual process to place the correct icons in the margins and enter the unique text for each. I’m wondering if we could make this more automated by having our instructional designers enter the icon info as footnotes in a Word document and running a script when we import into InDesign that places the correct icon and the indicated text. Basically, the script would run like the one listed above, but also place one of several graphics (which includes a clear box) overtop the side note. (Even if it’s not possible, this script could save us a lot of time.)

  7. Kai Ramesh (Kaila)

    May 1, 2017 at 12:27 am

    Hello! I have the calendar wizard, but I cannot figure out if it’s possible to make a “year at a glance” calendar with it. Do you happen to know? It was pretty overwhelming for me since I’m so new to InDesign. I did try quite a few different ways of using it, but just couldn’t get it to work for me. Any advice would be greatly appreciated! This list is greatly appreciated! 🙂

  8. I’ve just read the scripts description, and I’m starving to try three of them. Many thanks. I’ll be back on this post if I find some question about them.

  9. TomaxxiFillTable can’t be downloaded anymore. Is there an alternative source?


  10. Branislav Milic

    May 18, 2017 at 9:26 am

    Figure 7: TableSort is great for sorting a table alphabetically.
    is not placed correctly in the article.

  11. Hi David

    Is there any script which can find footnote from (1-9)(10-99)(100-999)so that i can apply different style on them.

  12. Hi there. Do you have many Indesign files? Don’t lose track of them anymore. We’re announcing a FREE VERSION of UFISH for Indesign on apple store for all users of this Group. Please check and share. It’s free. http://apple.co/2rsHMgc Thanks

  13. Hi, I wonder if you could help me. I have to create certificates (lots of), which need to saved as individual PDFs with e-mail address as titles. On each page of the document there is an e-mail style. I’m trying to create a scripts as follows: (Indesign – 1st page of the document) find style “e-mail” –> copy all text in that box –> export page as pfd –> paste e-mail text on the title bar –> save document (as “XXX”.pdf) –> go to next page (1+1) –> repeat the previous –> and so on, till the end of the document. Any help would be greatly appreciated. Many Thanks, Juha Sorsa

  14. Do you have a script that data merges numbers in reverse order? I have a 2-up file and instead of merging 1 and 2 and so on. I need it to merge 2 then 1, 4 then 3 and so on.

  15. I’ve found these three time saving scripts:

    Set frame to bleed, slug, page or margin = https://sellfy.com/p/JMJu/

    Resize Page to frame, object or group – https://sellfy.com/p/LthK/

    Bleed Extender – https://sellfy.com/p/Um2g/

  16. I need a script for Indesign CC which can delete all unused paragraph and character style in batch and in individual document.

  17. remove unused paragraph styles and character styles in InDesign CC2015 via apple scripts

  18. Hi, I am a high school yearbook adviser. We have created a multi page document to apply our styles, page numbers, etc. I now need to break the pages apart into 2 facing page documents (spread) for my students to complete. Any scripts or plug ins that accomplish that process?

  19. there is any script for mapping math character and apply it character style

  20. Have never used scripts. Tried the CalendarWizard, both versions. These are the errors I received:
    Script: C:\Users\graphics\Desktop\calendarWizard-classic.js
    Line: 1
    Char: 1
    Error: ‘i>>?’ is undefined (can’t make it out)
    Code: 800A1391
    Source: Microsoft JScript runtime error

    Script: C:\Users\graphics\Desktop\calendarWizard.js
    Line: 1
    Char: 1
    Error: ‘i>>?’ is undefined (can’t make it out)
    Code: 800A1391
    Source: Microsoft JScript runtime error

2 Trackbacks & Pingbacks

  1. Top 75 Design Blogs, Websites & Articles | The Advertising Bible
  2. 海外のデザイナーによく使用されるインデザインの自動化スクリプト10選 10月度 | 切り抜き専科

Leave a comment

Your email address will not be published.