Scripts for automating Adobe InDesign

I provide custom script development for Adobe InDesign. If you find yourself banging your head against the wall wishing that InDesign could do such-and-such, or if you have a thorny workflow issue you'd like to solve, a script may be the answer. Contact me and I'll develop a script for you!

Below are some free scripts. Some I developed for my own use, some for my own amusement, and some just for the challenge! If one of these scripts saves you a significant amount of time and effort, you can show your appreciation here.

Load numeral search into find-change [download]

Loads a large GREP string into the Find-Change dialog box that will let you search to ensure your document conforms to the common editorial convention of only spelling out numerals smaller than 10. Last update: 9-28-2021

Check document for accessibility [download]

Checks (and fixes) a document for accessibility. Specifically, prompts the user for a document title, maps paragraph styles to PDF tags, checks images for Alt text, and more. Script concept and testing by Chad Chelius. Last update: 9-30-2021

Cycle through blend modes [download]

Cycle through all the blend modes in order, applying them in turn to the selected object(s). Most useful if you apply a keyboard shortcut to the script. If you apply the Shift+plus/Shift+minus shortcuts, you can mimic the behavior of Adobe Photoshop. Last update: 5-20-2021

Export images for web [download]

Automatically export all the items that are added to the articles panel as JPG and/or PNG images at specific pixel widths. Last update: 5-18-2021

Add hyperlink to selected text from clipboard [download]

Copy a URL from a browser, and then in InDesign select some text for which you want to create a hyperlink to the URL, and run the script. The script will create a hyperlink to the URL that is on the clipboard and apply it to the selected text. The hyperlink will be added NOT as a shared destination, and the Hyperlink character style will be applied to the text. Last update: 3-24-2021

Update TOCs [download]

This script will automatically update any InDesign-generated tables of contents found in the active InDesign file. This script keeps you from having to turn to the table of contents page and select the table of contents to update it. And, this script will locate multiple table of contents, if present, and update each automatically. Last update: 1-12-2021

Remove shared destinations [download]

Whenever you create a hyperlink in InDesign, it defaults to creating a "Shared hyperlink destination." This script will locate all the hyperlinks in the active document and remove the "shared hyperlink destination"  attribute from each. Last update: 9-15-2021

Create angled table heads [download]

This script will create angled (15°, 30°, 45°, 60°) table heads for the selected table. The contents of the heads can be extracted from the first row of the table, or you can type your own column labels after the script has run. Last update: 10-08-2021

Stroke every 5 rows [download]

This script will add a .5pt black horizontal stroke every 5 rows within a table selection. Yes, InDesign can automatically add strokes and fills to tables following an alternating pattern you define in the Table Options dialog box. But sometimes you need strokes to repeat at certain user-specified locations in a table, or after a table subhead in the middle of a table. This script lets you do this. This is a teaching script. Included are easy to follow instructions that will let you modify the script in many ways.

Convert image to grayscale / Convert image to grayscale with background color [download]

This script provides a quick way to convert the appearance of a selected color image to grayscale, or a nice grayscale-on-color-background effect. Note that only the appearance of the image is changed. This script is intended for use in presentations, digital documents, and the like. The resulting image is not true grayscale, and won't print correctly to 4-color CMYK separations. See this InDesignSecrets blog post.

Add page buttons [download]

This script provides an automated method for adding “universal” page turning buttons to an InDesign file that will work in every type of output, on any viewing platform. Compatibility is ensured because the buttons are simply hyperlinks that point to specific pages of the document. Great for creating buttons for interactive PDFs that will work in the browser as well as on PDF readers on mobile devices. See this InDesignSecrets blog post.

Rotate selected characters [download]

This script will prompt you for a rotation angle, and then rotate the selected characters by the specified amount. See this InDesignSecrets blog post.

Export FXL HTML [download]

This script will export non-facing pages InDesign files to “fixed layout” HTML format. That is, HTML that retains the exact layout, typography, animation, and appearance from your InDesign layout. The resulting export is very similar to InDesign’s fixed layout EPUB export, but instead of producing a fixed layout EPUB, a folder of HTML, CSS, and JavaScript is produced. See this InDesignSecrets blog post.

Setup [download]

This script sets all of InDesign's preferences and many panel options and view settings the way that I like them. You can edit the script to set the preferences to suit your workflow. See this InDesignSecrets blog post. Updated 2019-01-02.

Export JPG [download]

These scripts make it easy to export a selection, a page, a range of pages, or an entire document to JPG format at a specific pixel dimension. See this InDesignSecrets blog post.

Paste and format URL [download]

This script will automate the process of creating visible URLs. Just copy a URL to the clipboard, choose an insertion point in your text, and run the script. See this InDesignSecrets blog post.

Export PNG with dimensions [download]

This script will output the currently selected objects to PNG format, prompting you for the desired width or height in pixels. This script works in CS6 or later only.

Check for flipped images [download]

This script will “preflight” the currently open file to see if any graphics have been flipped horizontally or vertically. If any flipped graphics are found, a report is created listing the flipped graphic filename, page number, and flip direction. See this InDesignSecrets blog post.

Package [download pre CC 2014] [download for CC 2014–2017] [download for CC 2018]

This simple script does the same thing as the File > Package command, with two differences: first, it doesn't stop to alert you about preflight problems, and second, it doesn't create the "instructions.txt" file. See this InDesignSecrets blog post.

InteractivePDFSpreads ON/OFF [download]

A simple script that implements an un-exposed feature of InDesign CS5. When you export a facing-pages layout using the Adobe PDF (Interactive) option, the facing pages always output as a spread. When you run the InteractivePDFSpreadsOFF script, all future Interactive PDFs exported from InDesign will output as single pages, not spreads. To restore the ability to export spreads to Interactive PDF, run the InteractivePDFSpreadsON script. See this InDesignSecrets blog post.

SlideShow [download]

A real quick and dirty script that uses InDesign CS5's "Presentation Mode" to display all the pages of the open document as a self-running "slide show". Here is a French version, translated by Pierre Labbe. See this InDesignSecrets blog post.

TransposeTwoCharacters [download]

InCopy has a command to transpose two text characters (Edit > Transpose), but InDesign doesn't. This script fixes that. Just place the text cursor between two characters, and double-click on the script in the Scripts panel. Even better, use the Keyboard Shortcut editor to assign a keyboard shortcut to the script, so you can transpose two characters with a keystroke. See this InDesignSecrets blog post.

Update: Here is a version for InCopy. Even though InCopy has a Transpose command, it doesn't work to transpose certain characters, such as periods and quotation marks. This script works to transpose all characters. See this InCopySecrets post.

BalanceRaggedLines [download]

This script "exposes" a hidden feature of InDesign CS3 and newer: the ability to control how the Balance Ragged Lines feature works. By default, the Balance Ragged Lines feature will try to make the lines in the selection approximately the same length, favoring a longer first line and a shorter second line. With this script you can tell InDesign to favor a shorter first line and a longer second line, or to try to make all lines the same length. See the enclosed documentation and example files for more detailed information.

Tooltip [download]

Back in 2007 I wrote an article for InDesign Magazine on how to add PDF tooltips to an InDesign CS3 file.

In InDesign CS4, Adobe completely reworked the way that buttons are created and edited. The change was for the better, except that in the process, Adobe removed the dialog box that allowed you to enter and edit tooltips. The underlying code for handling tooltips is still in CS4, but the dialog box for viewing, editing and adding tooltips is gone.

This script adds the functionality for viewing, editing and adding tooltip text to buttons back to InDesign CS4. See the enclosed documentation for more information. This script is no longer needed for CS5 or newer.

Twitter icon LinkedIn icon Instagram icon