Scripts sorted by categories for InDesign

Links to interesting scripts, sorted by categories. I just started filling in this page so there is a small number of scripts so far. Some scripts may appear in several categories.

Alternate Layout

Save InDesign Alternate Layouts as Separate Documents


AssignmentNavigator by Kerniff Publishing Systems
A free script that helps you find assignments in InDesign documents.

Batch processing

Batch processor by Kasyan


Export book documents to individual PDF files

Create a book from InDesign documents in selected folder
Run the script, select a folder. A book with the same name as the folder will be created and all InDesign from the folder will be added to it. Originally the script was written by Martin Fischer, I reworked it a little to make compatible with CS4.

Relink documents in book by Kasyan

Jump to Page in Book by Harbs
This script is similar to the “Command/Control J” shortcut, but it works on Book files.


Add bookmarks from a paragraph style by Colin Flashman


Enter/create accented characters (CS3 and later) by Peter Kahrel
Enter accented characters using easy-to-remember keystrokes; combine letters and accents; enter characters by their Unicode value.


Create graphic lines between columns
draws vertical lines between columns in selected multycolumn text frame


Quick Reference by Harbs
Quick Reference is a script created to simplify the process of creating cross references.

Convert Cross-References to Text by Peter Kahrel


InlineMerge by Loic Aigon
Flow all your datamerge records in one unique frame. Perfect for directories!

CSV2Tables by Loic Aigon
Get true tables from DataMerge records.


Script for word gathering and sorting in InDesign Dictionary by Jongware and Hans


Compare two documents by Kasyan
The script compares two documents and finds the differences between them

Merge the two open documents by Dave Saunders

Mass combine a bunch of indd files into one by Simon Wiscombe
Put all the files you want to combine into one document in a folder, named in the order you want them to appear in the book (e.g. "001.indd", "002.indd", etc. or something) so they appear correctly when sorted by name in finder/explorer. Set the destination document as the active document. (The original page is here).

Identify by Jongware
Determines in which version of InDesign a document was created.

INDDRecovery by Mikhail Kondakov
a program for restoring corrupted InDesign documents (for Windows only)

InDesign Repair by Stellar Phoenix
Repairs Corrupt InDesign files in all scenarios (for Mac only)

Blind open and IDML-export (script for trying to open a damaged InDesign document) by Martin Fisher

Close all open documents without saving by Kasyan

Save and close all open documents by Kasyan

Revert all documents by Kasyan
Reverts all open documents without confirmation dialog box (warning! be careful when using this script)

Digital Publishing Suite

Rapidly create folios using a PDF-to-InDesign by Derek Lu

Automatic rescale with InDesign
Script for DPS renditions regarding new iPad & iPad1/2 version.


EPUB InDesign Scripts

Unzip and Zip EPUB files (AppleScripts for Mac only)

Creative Commons scripts by Olav Martin Kvern
InDesign has the unfortunate feature of stripping out embedded index entries when it exports to ePub. Olav Martin Kvern has written a set of Creative Commons scripts for InDesign to help publishers get around this issue.


Export Stories to InCopy by Kasyan
This script exports stories in the active document to InCopy Document format creating a separate file (.incx) for each story.

Page Exporter Utility (PEU) by Scott Zanelli
exports single pages of an InDesign file to various formats.

Automatic dialog after background export (exportPop.jsx) by John Hawkinson
This script will automatically pop up a dialog box after every export finishes (PDF, IDML, whatever). It also makes sure that the Background Tasks window is turned on.

Export book documents to individual PDF files by Peter Kahrel

Export all text
Exports all the text in the active document on page by page basis as a single text file.

Batch-export to interchange/InDesign markup by Kasyan
Opens all InDesign documents in theselected folder and exports them into “Interchange Files” subfolder as inx files, which is created in the selected folder.

Batch resave INX-IDML files by Kasyan
Opens all INX and IDML files in the selected folder and saves them as INDD documents in the “Resaved Files” subfolder, which is created in the selected folder.

Batch-convert/export files (CS2 and up) by Peter Kahrel
Export documents by the folder to PDF, EPS, INX, RTF or convert large numbers of documents to a newer InDesign format.

Custom pdf export by Loic
allows you to make a PDF export of your document by slices on a piece or on all your file.

Export SWF Individually script for CS4 by Ignacio Lirio
Exports all pages in InDesign document as individual SWF files to the same document's folder. Takes same export presets as the last manual export, so it's a good idea to make a first manual sample export to check these presets.

Batch export indd-files to pdf by Kasyan
Opens all InDesign documents in the selected folder and its subfolders, and exports them to pdf-format.

Export all items of the pages in jpg
The script creates a folder on the desktop whose name is the document´s name + _jpgExport extension and exports all page items to this folder as separate jpg images.

Export current page to JPG by Kasyan


Batch Find-Change by list (for Batch processor) by Kasyan

Find change by queries by Kasyan
Performs a series of find-change operations based on the previously saved settings.

Record Find Change by Martin Fisher
This script writes the current find/change preferences to a text file so that you can copy/paste them into a find/change list file. It will come in handy to those who use FindChangeByList.jsx script and have trouble with editing FindChangeList.txt file.

Various GREP utilities by Peter Kahrel

Search and change case by Thomas Silkjaer

Find-change missing font with scripting by Marjan Tompa

Batch-find-and-replace by fabiantheblind
a batch-processing script for find change queries. You can process GREP, TEXT, GLYPH and OBJECT searches.

DoQueryList by Mikhail Ivanyushin. User manual in English is included inside the download package. To change the language in the dialog box from Russian to English/German/French, click the “flag” icon in the left bottom corner.


Change fonts (for Batch processor) by Kasyan

Font Reporter by Marijan Tompa
Collects used fonts information from multiple files

Find/change missing font by Marijan Tompa

List font properties by Roland Dreger
The script lists up to 15 properties of a font — either in the text sections, paragraphs, format fields or the current insertion point in the active document. These properties are included in a new text frame on a separate layer. The respective initial position is marked with an arrowhead.

Copy InDesign Fonts to Folder by Ajar Productions
The script copies fonts from an InDesign document to a folder.

IndyFont by Jongware
Build OpenType Fonts from within InDesign

Make list of installed fonts by Kasyan


Convert footnotes and imported (static) endnotes to (dynamic) endnotes (CS4 and later) by Peter Kahrel
Two scripts here. When you place a Word document with dynamic endnotes in Indesign, you end up with static endnotes in the InDesign document because InDesign doesn't do dynamic endnotes. One of the scripts here fixes that. The other script converts dynamic footnotes in an InDesign document to dynamic endnotes.

Dynamic sidenotes (CS4 and later) by Peter Kahrel
Using an approach similar to that to dynamic endnotes, the script converts footnotes in an InDesign document to dynamic sidenotes. The same script can also be used to set up a sidenote system in an empty document. Other scripts here make it easy to add new sidenotes and to stack sidenotes at the top, centre or bottom of a page.

Adjust space between footnotes and text (CS2 and later) by Peter Kahrel
InDesign lets you set the minimum space between text and footnotes on a document basis only. The script enables you to set that space per page.

Restoring the Footnotes into the Story by Marc Autret

Footnotes2Endnotes by Miguel Sousa
Converts all footnotes to endnotes.


Make list of all the unassigned glyphs by Pete Baumgartner and Peter Kahrel
This script makes a list of all the unassigned glyphs in the active document and writes the result to the extendscript toolkit JavaScript console.


Scale Graphics by Harbs
If you ever realized in the middle of a job that you need to adjust the size of all your graphics, you will appreciate this script!

GREP (Regular expressions)

ExtendScript RegExp Tester by Marc Autret
a simple interface to quickly test your regex from InDesign.

Migrate-GREP-Styles by Rick Gordon
AppleScript for InDesign to migrate GREP styles from a user-chosen paragraph style in a source doc to a user-chosen paragraph style in a destination document. If 2 or more documents are open, user chooses source and destination from list. Otherwise, user chooses from a file dialog.


Convert object to guides by Kasyan

Select Guides by Harbs
This script makes it simple to select a lot of guides at once.


Auto hyperlink
Automatically creates hyperlinks from the list.

Make hyperlinks from URL by Kasyan

Create Text Anchors by Kasyan
Finds all text formatted with character style “Anchor” and creates text anchors from the found text.

Remove all hyperlinks from the active InDesign document by Harbs

Script to make hyperlinks live by ckcosner
The aim is to take an InDesign document that was intended only for print, and go through to make all hyperlinks live. One of the problems is that typesetters can insert spaces or soft returns (shift-enter) in the middle of URLs to get them to break in the right spot. (The original link is here)

Decode URI All Hyperlinks Destination URL Name by Uwe Laubender
Decodes all hyperlink destination URLs and names; can be undone in one go. More info is here.

Automate Creation of Hyperlinks
An InDesign CS2 JavaScript. Put it into the "Version 4.0 Scripts" folder to make it work in up-to-date versions of InDesign.
Finds a string in text and creates a hyperlink based on the contents of the string. This script employs a hybrid approach to finding and changing text, using both JavaScript regular expressions and InDesign's search method.

Scripts for making hyperlinks (my approach)

Convert hyperlinks to buttons by Kasyan


Remove hyphens by Loic
removes any hyphenation in the document and updates the paragraph styles ( Except the standard paragraph style).

Find Hyphenations by Harbs
This simple script searches your current story for hyphenated words.


Sometimes you want to incorporate data into your designs. This is a simple tool that lets you batch generate IDML files using data from a CSV file based on a template.


Resize images by Kasyan
Resizes all raster images in the current InDesign document and sets them to 100%.

Trista DPI by Denis Libit
This script performs the routine tasks that occur in publishing workflow after the creation of "raw" layout with raw source images. Linked JPEGs are resaved in the same folder as TIFF or PSD, depending on the presence of clipping, and resampled to (usually) 300 dpi.

Place images by Kasyan
This script replaces text frames containing file names of images with actual images.

Place inline images by Kasyan
This script It finds text between two @ characters – e.g. @Pencil.tif@ – and replaces it with image that has the same name.

Unembed pasted images by Peter Kahrel

Place Images by Contextmenu by Gerald Singelmann

Swapping images by Gerald Singelmann

Scale Graphics Script by Harbs
Scales placed graphics en-mass.

Show Image Properties (CS3-4) by Dmitriy Lapayev
The script is intended to open and display the properties of the selected image.

Check for flipped images by Keith Gilbert

Convert RGB/CMYK images to Grayscale (ID+PS) by Kasyan
Opens all RGB/CMYK images from the active InDesign document in Photoshop and converts them to Grayscale.


MultiPageImporter for Importing both PDF and INDD Files.

Places all the pages of a PDFinside InDesign

Batch import paragraph and character styles by Thomas B. Nielsen
This script will let you choose a folder of files, open each of the files in it and import the styles from source document.


Clean Up Index Topics by Kasyan
This script cleans up topic names in the Index panel so that you donĀ“t have to clean up text in the generated story every time you regenerate the index

IndexMatic 2 by Marc Autret
one of the most advanced word indexing scripts

Indexes and concordances by Peter Kahrel
Create concordance (index of a word in its contexts); create indexes without using InDesign's index feature; add topics and page references form character styles or using a word list; convert page references to text; rebuild index for text markers.

Scripts for indexing written by Peter Kahrel

Update index by Peter Kahrel

Mark up index words from colours by Thomas Silkjaer.

Index from colour by Thomas Silkjaer

Index from character style by Martin Fischer and others
The script creates an index based on the words which have a specific character style applied to them.

QuickIndex by Kerntiff Publishing Systems
QuickIndex is a convenient way to add index markers in InDesign.


Kerning (CS3 and later) by Peter Kahrel
InDesign doesn't let you modify kerning tables, but with this script you can apply your own kerning tables.


Objects to layers
the script puts each element on a seperate layer.

tomaxxiLAYERS by Marijan Tompa
easily creates sets of layers


Create graphic lines between columns
draws vertical lines between columns in selected multycolumn text frame

Line Numbering by Harbs
Did you ever wish you could have numbered lines in InDesign? Well, now you can with this script.


Update path names in links by Kasyan
This script relinks old links with new ones in a folder you choose.

Update links to new drive letters (ID for Windows) by Kasyan
This script changes the drive letter in the path names, has an option to relink all or only missing links.

Restore broken links after server migration in InDesign (ID) by Kasyan
restores broken links by replacing the part of the path that changed.

Remove all instances of the same link by Kasyan
Just select a graphic frame with Selection tool and run the script — all instances of this link will be removed together with frames.

Batch update links by Kasyan
Batch updates all modified links in all InDesign documents located in the selected folder.

Show InDesign links (ID &Bridge) by Kasyan
This script makes possible to see list of all links in an InDesign file selected in Bridge.

Links Report to CSV, Create a List of Linked Files (for Mac) and LinkExport-Pro_1a
scripts export some information about placed images in the active document and saves the result to csv/txt file. (Check out also Create a List of Linked Files article)

Create a List of Linked Files (for Mac)

Delete references to linked tagged text files (CS and later) by Peter Kahrel
InDesign 3 (CS) and earlier always create a link when you place tagged-text files. These links show up also when you convert such documents to later versions of InDesign. The script removes all these links.

Change Links by Dmitriy Lapayev
Relink the images of the document to files with identical names in chosen folder.

Name document links by FourAces
Adds a name label with the link name, path, type, and status above the linked object (graphics & texts).

Remove missing links by Kasyan
Removes missing links in the active document, their containing frames stay in place.

Embed all links by Kasyan

Relink and fit by Kasyan
Relinks all instances of the selected image with another one and fits frame to content.

Transliterate cyrillic links by Kasyan
The script removes Cyrillic characters from file names replacing them with English equivalents.

ImageNavigator by Kerntiff Publishing Systems
A free script that helps you find images within your InDesign documents and books. Easily find images without links.

Nested style

Apply Nested Styles by Harbs
This script directly applies nested styles. It works on nested, GREP, and line styles.


Set all text in brackets as notes


Change All Numbers in a Document using Math by Steve Wareham

Price adjuster by Peter Kahrel


Align objects (CS2) by Peter Kahrel
InDesign CS2's options for aligning objects are limited. The script expands these.


Add a page while typing (CS2, 3) by Peter Kahrel
Add a page at the end of the document in which you're typing. No longer relevant from CS4 as it is built into the program.

ExtractPages by Eddy, Loic Aigon and Kasyan
Select a range of pages to export. ExtractPages pulls off the pages and generates a new document.

Save InDesign Document as Separate Pages script by by TAW from

Page to PS Layers (Apple Script) by Rob Day
The script exports PDFs of the ID layers and reassembles them in PS. In order to get the layers to register you need to include registration marks in the PDF preset you choose — the zip archive includes the preset I use. After running the script you can use canvas size to eliminate the crop mark.

Check all pages within one InDesign document have same size by Hans-Gerd Claßen
this script lists all pagesizes of indd-documents in the chosen folder.

Separate Pages by Harbs
This script breaks apart the spreads in the active document. This is useful for enabling inner bleeds.

Remove Empty Pages by Harbs
This is a simple script to help you get rid of empty pages in your document.

Apply No Master to Empty Pages by Harbs
This script applied the [None] master page to empty pages. Empty pages can be defined in two ways.


Export paragraph style description settings to CSV by Kasyan
The script exports most of the document´s paragraph style description settings to CSV-file which can be opened in Excel.

Delete empty paragraph style groups by Kasyan

Add paragraph rule by Hans-Gerd Claßen
The script cycles through the stories of the document to find the "Quote" paragraph style and modifies the existing rule below so that it covers the whole paragraph.

Show paragraph based-on script by Harbs

Fix Paragraph Leading by Harbs
This is a simple script which ensures the leading of all end-of-paragraph marks match the text before it.


Script for deleting objects on pasteboard

Clean up your Pasteboard by Marc Autret

Pasteboard Expander for InDesign CS5-CS6 by Marc Autret


Batch process scripts by Kasyan


StorySplitter by Adi Ravid
This script will remove the threading between text frames of a selected story, while keeping the content of each frame as is, with the options of splitting all fames of the story, or splitting the story thread into two separate stories before or after the selected text frame.


Auto create paragraph and character styles by Thomas Silkjaer

Batch import paragraph and character styles by Thomas B. Nielsen
This script will let you choose a folder of files, open each of the files in it and import the styles from source document.

List paragraph styles in their style by Dave Saunders
The script creates a list of paragraph styles where each style name appears in the formatting of the style — a sort of quick visual guide to a document's paragraph styles.

List paragraph and character styles by Kasyan
Makes a list of all paragraph styles and character styles in the active document, showing the font, font size and leading.

Show all nested styles by SLTyPete


Hex Swatches in InDesign by Harbs
This startup script adds a menu item to your swatches panel that allows you to add hexadecimal swatches (among other cool things).

Amazing Swatch Sorter by Jongware. (See comments here).


Remove empty columns on all pages by Kasyan
Remove all empty columns in tables on all pages.

Sort tables (CS3 and later) by Peter Kahrel
Sort a table on up to three columns. Formatting can be preserved.

Merge tables (CS2 and later) by Peter Kahrel
Merge all selected tables.

Table Merger by Harbs
This is a simple script which merges two tables. You can select to either merge horizontally or vertically


Find overset text
A collection of scripts dealing with a common problem — finding overflowed text frames.

Text counter
A simple script that counts a number of text frames, paragraphs, words, characters (including and not including spaces).

Scripts that help fix Word formatting

Add vertical rules to selected paragraphs (CS4 and later) by Peter Kahrel
You can define horizontal rules (one before, one after) in InDesign's paragraphs, but not vertical rules. The script fixes that.

Highlighting word- and letter-spacing overrides (CS4 and later) by Peter Kahrel
The scripts highlights paragraphs with overridden word and/or letter spacing.

Highlight No Break (CS4 and later) by Peter Kahrel
Like word and letter spacing, the No Break attribute is not easily visible. The script highlights all text to which No Break has been applied.

Kerning (CS3 and later)
InDesign doesn't let you modify kerning tables, but with this script you can apply your own kerning tables.

Enter/create accented characters (CS3 and later) by Peter Kahrel
Enter accented characters using easy-to-remember keystrokes; combine letters and accents; enter characters by their Unicode value.

Distribute Tabs by Gerald Singelmann
This JavaScript considers the left indent and the position of the last manual tab stop and distributes all other tab stops. It should work with several paragraphs selected, treating each paragraph indepentently. It works here with CS2 as well as CS3. Since I had no time to test rigorously any feedback is welcome.

Text fitting scripts by Harbs
One of the most tedious jobs is fitting text to the space it is supposed to take up. A little bigger, a little smaller, wait! the text is different sizes… sigh… Well, here’s a few scripts to help with a couple of different situations…

Resize selected text by Thomas Silkjaer
This script allows you to resize a text selection, and handles the different sized text in the selection.

Proper Fraction Pro 2.0 by Dan Rodney
Whether you use OpenType fonts or not, formatting fractions is a tedious task. This script lets you automatically format many fractions with a few clicks (or format one fraction at a time).

Freeze Composition by Harbs
If you were ever given the job of editing text without changing the page breaks, you will appreciate this script.

Text frame

Merge TextFrames by Ajar Productions
a script for merging loose text frames into one big textframe.

Break columns script
Breaks columns in the selected text frame into separate text frames, keeping original columns' sizes, gutter and text flow.

Create graphic lines between columns
draws vertical lines between columns in selected multycolumn text frame

Create anchored frames by Thomas Silkjaer
A script which will help you automate creating those anchored text frames for margin text, captions etc. By specifying which character styles or paragraph styles from a text story you want cut out and placed in an anchored text frame, it will complete the task for you.

Text variable

Show/set text variables (CS3 and later) by Peter Kahrel
Display the names and values of custom text variables in a document; change them easily and create new variables conveniently. New version for CS4, also works in CS3.

Insert variable by Harbs
The script makes the process of inserting variables easier.


World Map by Jongware
Draws a world map.

Maze generator by Jongware
Start it in a blank document with no selection to get a crude "width/height" dialog, or draw a rectangle and have it selected to fill it with 5 mm wide maze paths. If you're feeling experimentally, draw polygons, or tack together a few shapes and combine their paths into one.

Language-aware paragraph sorting (CS3 and later) by Peter Kahrel
Sort paragraph (or lines) according to the sort rules of the document's language. Formatting remains intact.

Draw triangles with precise sides widths by Loic

A script to make pies (and more) by Jongware

Claquos 2 — Pie Chart Builder for InDesign by Marc Autret
Inject quickly a pie chart into your InDesign's layout.

Speeech! by Marc Autret

QR Code by Jongware

Expand US State Abbreviations by Jongware

Batch process scripts by Kasyan

Songbook with guitar chords by Kasyan

Add an Antique Edge to Photos by Boris Kascheew


CSV & XML by Loic Aigon
Two little utilities to convert CSV to XML and back.


Zoom to Width by Harbs
This convenient script will zoom to the width of your currently selected object.