The InDesign Scriptopedia
In the InDesign Scriptopedia, Erica Gamet brings together a collection of some of the coolest and most useful InDesign scripts.

Erica Gamet brings together a collection of some of the coolest and most useful InDesign scripts.
If you spend any time reading InDesign Magazine, visiting InDesignSecrets, or attending live events like The InDesign Conference, you’ll quickly notice how many folks consider scripts to be indispensable tools in their workflows. But if you’ve never actually used scripts, you might wonder what all the fuss is about. Can scripts really make that much of a difference? Can you use scripts without knowing how to script? Can you actually find scripts for the specific tasks that you need to accomplish? My short answer: yes, yes, and yes! But if you still think, “Meh, scripts aren’t for me,” consider the following:
- If you find yourself repeatedly choosing the same menu functions in InDesign over and over…you might need a script.
- If you constantly enter the same values in a dialog box…you might need a script.
- If you need to access some obscure functionality in InDesign…you might need a script.
- If you just want to get your work done faster…you really ought to use a script.
Truly, any time you need to automate some task in InDesign (or if InDesign doesn’t natively offer a function you need) someone might have already written a script that will get the job done for you. But where do you go to find InDesign scripts? Of course, you can Google the phrase of whatever you’re hoping to accomplish plus the words “InDesign script,” and you might get lucky. Or you might end up spending a lot of time poking around various sites before you find what you’re looking for. But the whole idea of using scripts is to stop you from fumbling around and wasting time. That’s why the editors of this magazine came up with the
idea to create an amazing new resource: the most complete and up-to-date reference guide to InDesign scripts in the world! They call it The InDesign Script-o-pedia, and this eponymous article is the first step in the effort to build out that amazing resource, which will be available at InDesignSecrets. While this list of scripts (organized into nine categories) barely scratches the surface of what The InDesign Script-o-pedia will ultimately become, it’s a solid foundation, as well as an eye-opening testament to what you can achieve when you harness the power of scripts in InDesign.
Scripts for fees and scripts for free
Most scripts listed in this article are free to download, but please consider using the Donate buttons on the developers’ websites if you find their scripts useful. It’s not only good karma, it also encourages those folks to continue cranking out great tools for us all. Commercial scripts are marked with $. Scripts marked with Id come with InDesign.
Text and Styles
The following scripts will help you be more efficient when editing and formatting text.
- The SetVisualCharStyle script lets you set your type to an exact size based on a specific character. For example, if you know the x-height needs to be exactly 1/2 inch, you need only to enter the “x” character and .5 in. to make that happen.
- If you need to change numerical data across the board in your document—for example, increasing all prices in an ad or catalog by 10%—check out Number Adjuster. You can apply the mathematical function to numbers within a selection, story, or across an entire document.
- Word stacks—identical words that sit on top of each other in a paragraph—can be visually distracting. The SmokeWordStacks script finds those annoying word stacks. When the script finds a stacked word, it applies a character style with a red underline. Either use the styling to visually spot the words, or use the Find/Change dialog box, and then manually adjust the location.
- Ever need to make type look a bit less flawless and more of the “touched by human hands” variety? The HumaneType script delivers with uneven baselines and even allows for text along a curved path.
- To change numbers expressed by digits into their written word counterparts, you can use InDesign’s built-in Find/ChangeByList script. You’ll need to make some adjustments to the supporting text file, which you can read all about here. Id
- The PerfectPrepText script assigns character styles to locally formatted text, even if paragraph styles have been applied to the text. There are three scripts that come with the PerfectPrep set, but using the PerfectPrepText_Do is the safest route. (Read more about the scripts and their history here).
- The Search in Styles script lets you perform searches across all styles—or selected ones—at once. Putting style attribute criteria into the Find/Change dialog box allows the script to find styles that have those attributes applied. You can then make changes to any of the styles as needed. $
- Sometimes you’ve manually styled a lot of text before you think to use styles. The Auto Create Paragraph and Character Styles script builds styles based on already-formatted text. Each time the script is run, it compares styled text to existing styles and assigns them, or creates a new style.
- Entering characters with diacritics—especially for a language that your keyboard is not set to—is made somewhat simpler by Peter Kahrel’s Compose script. To get the proper glyph, either enter one of the pre-assigned mnemonic codes or the unicode, if applicable. If there is no actual glyph in your chosen font, the script will even attempt to build one out of the base character and diacritic.
- If you need line numbering—as opposed to paragraph numbering—InDesign’s built-in tools will leave you out in the cold. The Number Lines by Style script from In-Tools closes this gap by creating numbers that sit in anchored text frames next to each line. Object styles are assigned, so updating the individual line numbers is a snap.
- Introduced at PePcon 2014, the oddly-named Swimmer script swaps out words with inline graphics and vice versa. Just set the keywords to search for and the necessary graphics, and the Swimmer script does the rest.
- Anyone who works with footnotes in InDesign knows how woefully inadequate they are. Lucky for those folks, Peter Kahrel knows, too, and has created a collection of scripts to deal with the native shortcomings. The scripts include solutions for converting footnotes to endnotes or margin notes, converting static endnotes to dynamic ones, adjusting the footnote spacing, and setting multiple notes on one line.
- StyleLighter allows you to view text styles and overrides in your document. Each style is displayed in a unique color, giving immediate feedback as to which text has and hasn’t been styled.
- The ShowFonts script restores functionality that has been stripped from the Find Font dialog box in more recent versions of InDesign. The script displays information for each font, including font name, type, style, and status.
- When a table of contents is updated, any manual text formatted is lost. The LiveTOC script holds on to that formatting, even as the TOC is revised. $
- If your favorite typeface is lacking the euro symbol or you wish you could replace its ampersand, there’s a script for that! FontMixer lets you borrow characters from one typeface and place them into another, creating a hybrid font containing the best (at least in your opinion!) of each typeface.
- WidowFixer is a one-trick wonder with its simple-yet-powerful function. The script adds a specific GREP expression to select paragraph styles that prevents single-word lines at the end of paragraphs from ever happening. $
- The Smart Title Case script very simply converts selected text—frames or a text selection—to title case. The script rightfully ignores words like “a” and “the,” but delivers uneven results depending on if a frame or specific text is first selected.
- Fractions (especially uncommon ones) can be tricky to craft at times, even when using OpenType fonts. The Proper Fractions scripts format all fractions, and can even ignore number sets (like dates) it sees as “non-fractions.” $
- The SortParagraphs script—which ships with InDesign—can sort selected paragraphs alphabetically. Looks like laying out that membership directory just got a whole lot easier, thanks to this timesaver. Id
- The GREP window in the Find/Change dialog box and within GREP styles is painfully small. The GREP Editor script offers a larger window to work with these complex—and often quite long—expressions. You can also load existing GREP queries from and send new expressions back to the Find/Change dialog box.
- Issues with double spaces, em and en dashes, and justification are easily fixed with the Detail Typesetting script. This script is part of the larger InDesign Toolbox, which includes scripts for layout and text handling.
Just a Bunch of Text?
Sometimes you have to take a couple of extra steps to get a script ready to use. If you’ve clicked on a link and see a screen full of text—or someone has provided only the raw text in a forum post—you’ll need to put that text into a wrapper that InDesign can understand. If the script has been written in JavaScript (a majority of scripts are, since it’s cross-platform), simply copy the text and paste it into a text editor. Make sure the text is in plain text format, and then save that file with the .jsx extension. Also, you may encounter files that have both .jsx and .txt extensions. In that case, just remove the .txt extension before attempting to use the script.
Layout
These scripts ease problems and speed the process of crafting page layouts.
- The Columns2Frames script does just what you might think. It takes a multi-column text frame and splits it into individual, threaded text frames.
- When you use the Duplicate Spread option from the Pages panel menu, the duplicated spread is placed at the end of the document. This script lets you place the duplicate immediately after the original page (or spread). You can make quick work of this task on many spreads by using Page Up and Page Down to navigate through the pages, and assigning the script a keyboard shortcut.
- Dave Saunders’ WrapNudger picks up where InDesign’s imperfect text wrap leaves off. The script can move the wrapped object while leaving the text as is or adjust where the text wraps, leaving the object in place.
- The SplitStory script breaks all links between frames in the selected story, leaving all text in position within each frame. BreakFrame removes only the selected text frame from a text thread, without affecting the contents—or flow—of the frames. Both of these scripts come with InDesign. Id
- Layout Zone is a startup script that creates a separate InDesign file from selected objects in a current document. The newly-created file can then be inserted into another InDesign file or back into the original file. That incoming file can even replace the separate page elements that were used to create it(self).
- InDesign’s built-in data merge accommodates only one data record per frame. The Inline Merge script allows multiple records to be combined into a single text frame, making it perfect for creating directories and other long lists of records from a data file.
- Merge Text Frames combines multiple text frames into one all-encompassing frame. The script’s options let you choose in what order the frames are merged, if the text is separated by paragraph returns or tabs, and what size the final merged text frame should be.
- InGutter places vertical rules between columns within a text frame. Those rules extend or shrink as the text frame is resized. The script gives you control over changing the number of columns, background color, and attributes of the rules themselves.
- Selecting any frame in InDesign and running the built-in Make Grid script splits the frame into the chosen number of rows and columns. Options include whether or not to retain the original frame and if the frame’s content remains. Id
- The Adjust Layout script moves objects on a page—or range of pages—a defined amount. Set the vertical and/or horizontal values to move the items, and indicate for the changes to occur on odd and/or even pages.
Installing and Using Scripts
Installing InDesign scripts is super easy. Once you’ve downloaded—or created—the script file, it’s a matter of drag and drop. Most scripts live in the Scripts panel within the InDesign application folder (Adobe InDesign > Scripts > Scripts Panel), though some need to be placed in the Startup Scripts panel in that same Scripts folder. Once installed, scripts are accessible right away; no need to restart InDesign (though startup scripts will require a restart). The scripts are then accessed by double-clicking them in the Scripts panel (Window > Utilities > Scripts). Depending on the script, you may have to have selected a frame or text for it to run properly. InDesign comes with several scripts already set up, which are inside the Samples folder in the Scripts panel. You can further organize the scripts by creating subfolders in the Scripts Panel folder in the Finder/Explorer and arranging them as necessary.
Tables These scripts can take the time and torment out of working with tables.
- This clever table cell script is totally worth it, but you have to enter info into the text file each time you change parameters. It assigns a cell style to any table cells containing specific text. In a text editor, you’ll have to assign what that text is and what style to apply. Create and name a new version of the script for each search you might want to re-use, and assign a keyboard shortcut for fast implementation.
- This script is similar to the previous one, but it assigns a table style instead of a cell style. Again, you’ll have to enter the style you want to apply and set the parameters for each search you need the script to perform.
- Table styles in InDesign are a great way to format table content, but they are lacking in the table structure department. The Tables Sized to Frame script picks up that slack by automatically adjusting the table width to the width of the enclosing text frame. You can also assign an amount for row setting (Exactly or At Least) and row height.
- When information is copied and pasted from one table to another in InDesign, the formatting is stripped out. PopTabUnleashed retains the text formatting upon paste and even includes an undo feature.
- The TableSort script brings the ability to sort table columns to InDesign. The sorting is limited to only three columns, but you can sort across an entire table, or sort only selected rows.
- InDesign’s Table Merge feature merges all selected cells without regard to columns and rows. Smart Cell Merge lets you select multiple cells and merge across columns or rows separately.
Documents
The following scripts can supercharge your abilities to manipulate documents, pages, and layers.
- Extract Pages brings some Acrobat-like page manipulation to InDesign. The script lets you select and extract individual pages from an InDesign document—as single pages or as a group—and can even create a new InDesign document from the extracted pages.
- Calendar Wizard automatically creates calendars in InDesign. The script lets you customize the starting day of the week, number of months to display, page orientation, and language. Each element is further customizable via text styles, and resizing the calendars is a snap. The newest version introduces customizable holidays, savable presets, and three different styles of calendars. $
- The aptly-named PasteboardExpander script expands your pasteboard. If your off-page items are falling off into the void, this script dynamically increases the pasteboard size to accommodate those wayward items. The pasteboard is only expanded—to precisely fit the pasteboard items—on spreads that need to be.
- When exporting an InDesign book (.indb) file to PDF, one file is created comprising all the selected document files. The PDF to Individual Pages script lets you create separate PDF files for each book document. Further options include creating separate PDFs for each individual page or section.
- MasterMatic is a script that automatically assigns a specific master page to your document, based on styles. Create pairs of paragraph or object styles and the masters that should be assigned to the pages that contain those styles. If content moves to a new page, the masters are automatically assigned to that new page. $
- The History scripts from In-Tools gives InDesign the same functionality that the History panel does in Photoshop. The scripts let you undo or redo actions directly, instead of having to step through each action successively (using the built-in Undo and Redo actions).
Images A picture’s worth a thousand words, and these scripts can save a thousand clicks when working with placed images.
- If you placed an image in InDesign without having the Show Import Options turned on, you’re out of luck if you realize you wanted to control the incoming crop or which pages of a PDF to import. Your choices at this point are to re-import the image (with the Show Import Options checked) or use the rePlace script, which gives you access to the import options without having to go through the process of re-importing the image.
- The PDF Options Editor script does basically the same thing as the rePlace script, but deals strictly with the import options pertaining to PDF files. The linked page is in French, but the red download button is obvious, and then you choose Extract PDFOptions Editor in the resulting PDF’s Bookmarks panel.
- The CaptionsAlt script from Peter Kahrel performs a simple task that could be quite time-consuming in a file with many images. It simply applies any text from an image’s caption—select the text frame and image so it pairs up the right caption—to the Alt Text section of the Object Export Options dialog box.
- Keith Gilbert’s Export to JPEG set of scripts lets you export from InDesign to exact pixel dimensions, as opposed to a set resolution. There are three scripts in the bundle: one each for exporting the current selection, the entire document, or a range of pages or spreads.
- The Folder2CSV script creates a .csv file listing all images in a specified folder. Even though the script is run from InDesign, the images don’t have to be in any InDesign document. Where InDesign comes back into play is if you use the Data Merge feature along with that .csv file to lay out those images quickly in your document. This process makes it easy to create a contact sheet or place a single image per page automatically.
- The DeleteAllImages script will delete the image content of frames, leaving each frame itself in place. Select one or more frames and run the script to delete those images, or select nothing to have it delete all images in your document.
- The ImageCatalog script—which comes with InDesign—arranges all images from a specified folder into a contact sheet layout on the page. When creating the layout, choose whether or not to use the images’ metadata to generate static captions. Id
- Releasing an anchored object is easy, but not so much with an inline object. The ReleaseAnyAnchor script fixes that problem by detaching an inline object from its text frame while leaving the object sitting in the same position on the page.
Colors and Swatches
RGB? CMYK? LAB? You can handle them all PDQ with the help of these scripts.
- This simple script removes an image frame’s fill color while leaving the image intact. It works on any shape of image frame and only removes the fill from shapes that actually contain an image.
- A user-submitted script does the grunt work in tidying up an InDesign document’s swatches. Scroll to the end of the forum thread to get the script that removes all unused swatches, adds any used—but unnamed—colors to the Swatches panel, and converts the swatches to CMYK process.
- SwatchWatch is a script that creates sample swatches for each color in your Swatches panel. It places those swatches at the end of your document and indicates the swatch name and color values. The script will even create swatches for spot colors in placed images, and can be rerun as colors are altered, added to, or deleted from your document.
Interactive
These scripts can help you make quick work of hyperlinks, multi-state objects, forms, and more.
- If you work with a lot of hyperlinks in your InDesign documents, you probably spend a lot of time cleaning up and shortening the visible URLs. While it’s a good idea to use the full URL in the Hyperlinks panel, you may want your reader to see a considerably smaller one (perhaps even leaving off the www). The Paste and Format URL script automates the process, leaving the hyperlink intact while displaying only the part of the URL you need to see.
- Entering information into a combo box or list box when working with interactive forms in InDesign involves listing each item separately. However, the free ComboMambo script lets you import the contents of an existing plain text (TXT) file to populate the list field.
- Creating a cross-reference involves referencing either a target text anchor—which you first have to insert—or a specified paragraph style, and then creating the cross-ref. The QuickReference script lets you work in reverse! First select the text for your cross-ref, and then run the script, which will find all the occurrences of that same text.
- The Digital Publishing Pack contains seven scripts that make working with multi-state objects (MSOs) in InDesign easier. The scripts automate adding an item to all object states, automatically creating hide and reveal buttons, and quickly creating the MSO with a visible and hidden state upon creation. $
Output
PDF, PSD, PNG, and a plethora of other outputs will be easy as peach pie with the help of these scripts.
- Colin Flashman’s Data Merge to Unique Names script lets you export directly to PDF files (and to individual InDesign files) from a data merge operation. Those individual files can also be uniquely named, automatically, from within the script’s interface. Bonus deal: You can convert any generated InDesign files to other formats using the Batch Convert script below.
- The Batch Convert script lets you, well, batch convert multiple InDesign files (within a given folder) to a variety of file formats. Choose from PDF, IDML, PNG, JPG, XML, and more as the final output file type. There is also an option to choose a preset, depending on the chosen output file type.
- Use the PageToPSLayers script to effectively export a layered InDesign file to a layered Photoshop file. All layers—including hidden, locked, and empty ones—get exported, and layer names are maintained. On export, choose whether to import the layers as smart objects or as rasterized images.
Fun
With these scripts, you can add fun to your work with cool design effects; there’s even a game you can play in InDesign!
- SiliconPublishing has a collection of fun drawing scripts as part of their publishing scripts collection. Fractalize creates fractal patterns from a shape, while Explode breaks out individual paths from a shape. MysticRose and NINA create shapes that mimic string art and spirographs, respectively.
- The Wordalizer script generates a word cloud from text in a frame, book, document, or clipboard contents. You can choose from the included themes or create and save custom settings. Wordalizer also gives you control over the size and positioning of each word in the finished word cloud. $
- The built-in PathEffects script gives you object effect options similar to Illustrator’s Distort & Transform. Options include punk, bloat, and twirl, and all effects are completely editable. Id
- Sometimes you need a break from actual work in InDesign. InTetris puts the classic arcade game right inside InDesign for those times when you need a moment away from work. While not as robust as the full arcade version (why is there no “next object” preview?), InTetris is a fun diversion.
- The Scribbler script randomly shifts text off the baseline to give it a bit of an uneven feel. While I wouldn’t recommend using it on the text of your next novel, it can be used effectively on informal or lighthearted text and content designed for children.
- Using the Speeech (not a typo) script is the easiest way to create a cartoonish speech bubble. Simply create a frame with a connector line, and the script does the rest.
Stick to the Scripts
So there you have it: a wide-ranging, inspiration-bringing sample of the most essential, useful, and cool InDesign scripts. Just remember, any time you’re struggling with a repetitive, time-consuming task in InDesign, there’s probably a script that can help, and The InDesign Script-o-pedia will be the place to find it.
Resources
There are hundreds of other InDesign scripts available on the Web. Until we can get our own InDesignSecrets online database of scripts fully up and running, here are some web sites that you should definitely check out for more scripting goodness. Creative Cloud Add-Ons In-Tools Rorohiko (Lightning Brain) Indiscripts Peter Kahrel Ctrl Publishing Gluon Software Loic Aigon’s scripts Zevrix Software Teacup Software InDesignSecrets (hey, that’s us!) Creative Scripting Silicon Publishing Ajar Productions Gilbert Consulting Colin Flashman
Commenting is easier and faster when you're logged in!
Leave a Reply
Recommended for you

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...

How to Be a Better Designer: Learn About Type
It’s all about the type. Or, as James Carville might have said, it’s the typogra...
Link to quick reference script gives “Secure Connection Failed” error in Firefox; please check?
https://in-tools.com/wordpress/indesign/scripts/quick-reference-script
This works: http://in-tools.com/article/scripts-blog/quick-reference-script/