Update May 2017: added a few more scripts suggested by our readers - and a few plugins were moved to a new post 40 Essential InDesign plugins, add-ons, and utilities
Scripts are magic added to InDesign. Each time you have a repetitive task to carry out in InDesign, there is probably a script ready to do just that. We’ve collected a list of the best 90 scripts there are around. If you can't find what you need – or you think we missed some great ones, feel free to drop a comment below.
Quickly see how to install a script here.
Consider a donation to the developer
Almost all of the scripts in the list are free. For each of them, you’ll find a link to the page of the developer who wrote the script. Some of them accept donations in their websites. So, think about how much time their scripts have saved you, visit their website, and make a donation.
Save before launching the script (important)
Before running a script in InDesign, save your documents. It might happen that the result of the script is not what you wanted, or that the script fails in some way. The changes made by the scripts are usually reversible using the Undo function (Cmd/Ctrl + Z). However, some scripts perform a lot of changes under the hood, so you might find yourself having to “undo” hundreds of times. It is way better to save first, just in case.
The ultimate InDesign scripts list
This is the list of the scripts we collected. We divided them into sections for easy consultation. Click on one of the entries of the list to go directly to that section.
You'll find the link to the instructions of each script in its description at the link. Please read them before launching each script.
- Scripts for scripts
- Layout (aligning, drawing, guides)
- Text Frames
- Numbers, Prices, and Fractions
- Tables & Charts
- End notes, Foot notes, etc.
- Variables, References, and Hyperlinks
- Find & Replace
- Import/Export/File Conversion
- Must Have
- Language Translation
Scripts for scripts
1. Script Installer (by in-tools.com)
It helps you install other scripts. So meta. You should download it if you plan to install a lot of scripts.
Link to the script (Look for the Download button under Script Installer)
2. Script launcher (by Peter Kahrel)
It creates a panel from which you can run your scripts.
Advantages to the default panel:
- it lists your scripts in a historical order, so that the last-run script is on top of the list
- you can assign to it a keyboard shortcut (see the Adobe guide).
- you can search for a specific script
3. Batch process scripts (by Kasyan Servetsky)
It allows you to run a single script or a set of scripts on a single document or on a list of documents.
Layout (aligning, drawing, guides)
4. Calculate Margins (by Laurent Doucet)
This script allows you to get the top, outer, bottom and inner margins for the five most common canons of page construction. The five canons are the “fine” print, the “regular” print and 3 based of a geometrical division on the page: by 6, 9 and 12.
5. Add Guides around objects (AddGuides - shipped with InDesign)
It adds guides around a selected object or objects.
6. Select all guides (by in-tools.com)
It selects all the guides in the current spread, only the horizontal, or only the verticals.
To select all the guides you can also use the keyboard shortcut Command/Control Option G, without installing the script.
7. AdjustLayout (shipped with InDesign)
It moves objects by specified distances on right/left pages.
8. Align objects to a specified position (shipped with InDesign)
AlignToPage is a script that aligns objects to specified positions on a page.
9. Add, remove columns (by Luis Felipe Corullón and Kai Rübsamen)
The script adds or removes columns from a text-frame (or the page if nothing is selected). It could be very useful if you assign it a shortcut.
See here how to create your own InDesign shortcuts.
10. Creates line between columns (by Marc Autret)
InGutter creates lines between your columns. The lines resize automatically when you resize the text frame. Very helpful with newsletters and magazines!
11. Size Labels (by Rorohiko)
It places a label on each frame showing its dimensions. The labels are placed in a specific layer, so that it's easy to delete them. Unfortunately, the dimensions are only in inches, and if you need a different measurement system you have to change the code.
12. Convert Multicolumn Text Frames to Individual Frames (by Steve Wareham)
It creates threaded text frames starting from a multicolumn text frame. It's helpful when you need to make some columns wider than the others.
13. Break Frame (shipped with InDesign)
BreakFrame removes a selected text frame and its entire contents from a threaded text-frame.
14. Split Story (shipped with InDesign)
SplitStory splits the text frames of the selected threaded text-frame into separate, unlinked text frames.
15. Thread text frames (by Rorohiko)
This script helps you to introduce a non threaded text frame to a threaded text frame.
16. List mistyped words (by Theunis DeJong)
This script lists all the words in your text that are not present in the InDesign dictionary.
17. Manage missing glyphs (by Peter Kahrel)
The script lists all the missing glyphs in your document and allows you to apply a font to them.
18. Line numbering
These scripts number the lines of your text by creating an anchored text frame at the start of each row. I am talking plural because I actually found two alternatives. A free script created by in-tools.com, and another solution by id-extras.com which costs $49 but adds a few more powerful features to the same function.
19. Enlarge text to fit the frame (by in-tools.com)
FitTextPrefs enlarges the text to fit a text frame based on the preference you choose.
20. Shrink text to fit the frame (by in-tools.com)
FitTextToFrame will attempt to bring any overset text back into the text frame.
21. All Caps to Small Caps (by in-tools.com)
It replaces strings of full caps with small caps, and adds a Character Style to adapt the text to fine-tune the results.
22. Fit overset or underset text (by Sterling Computing) - $18.24
The script fits overset or underset text in an story into the text frames of that story, while minimising visible changes to the text design. It doesn’t change the point size or leading in the default settings, since that can create mismatched baselines with adjacent columns of text from two different stories.
23. Split Text (by Ajar Productions)
The script breaks apart text by many options (by paragraphs, columns, words, etc.). You can use it in order to quickly separate blocks of text that can be individually positioned. It also comes with an undo feature.
You have to subscribe to Ajar Productions' newsletter to download the script.
24. Find Hyphenations (by in-tools.com)
This script searches for hyphenated words inside a specific story.
25. Remove Hyphenations (by Loic Aigon)
The script removes any hyphenation in the document and updates the paragraph styles (except the Basic Paragraph Style).
26. Text counter (by Kasyan Servetsky)
The script counts the number of text frames, paragraphs, words, characters and shows them in a panel.
27. Widow Fixer (by Dan Rodney) - $9.99
The script automatically prevents single words from being on their own line (It adds GREPs to your paragraph styles).
Numbers, Prices, and Fractions
28. Price adjuster (by Peter Kahrel)
The script helps with adjusting prices. You can multiply them, change the currency, the format, the separator, add a character style, etc.
If you often work with tables and pricing in tables, you might want to read this post about linking InDesign tables to Excel spreadsheets.
29. Exchange thousand separators and decimal indicators (by Peter Kahrel)
The script helps you in exchanging thousand separators and decimal separators (dots/commas in numbers) from English to non-English style and vice versa.
30. Format Fractions (by Dan Rodney) - $69.99
The script properly adapts fractions to the text appearance. Adobe in the 2017 version added the support to fractions for OpenType fonts, but still not for TrueType or PostScript Fonts. Also, not all the OpenType Fonts support fractions, and applying the formatting is still a laborious work. This script does the job in an advanced, no-brain way.
Tables & Charts
31. Tables using data merge (by Loic Aigon)
InlineMerge flows all your datamerge records in one unique frame.
If you need some help with data merge, check this tutorial.
32. Pie Chart Builder (by Eddy)
The script Claquos helps you with creating pie charts directly in InDesign. Pay attention, it's in beta.
33. Unembed embedded images (by Peter Kahrel)
The script extracts both embedded and pasted images, saves them into a given folder, and replaces them with linked images.
34. Place inline images [updated]
Two scripts for the same function also here. One is by Kasyan Servetsky, it finds text between two @ characters – e.g. @Pencil.tif@ – and replaces it with the image that has the same name. The other is by Rorohiko and simply replaces words with images (This last one is also reversible).
35. Open All RGB Images (by Kasyan Servetsky)
The script searches TIFFs and PSDs which are in RGB or Grayscale color mode and opens them in Photoshop.
36. Convert RGB/CMYK images to Grayscale (by Kasyan Servetsky)
Opens all RGB/CMYK images from the active InDesign document in Photoshop and converts them to Grayscale. Do a back-up of the data before running this script.
37. Show Text Overrides (by in-tools.com)
The script enables a hidden feature that shows which parts of the text have been overridden.
38. Highlight paragraph and character styles (by Marc Autret)
StyLighter highlights each paragraph and character style with different colors, and shows which parts of the text have been overridden.
39. Local Formatting to Character Styles (by Peter Kahrel)
These three scripts work together to create and associate Character Styles to inline formatting.
40. Create paragraph and character styles (by Thomas Silkjaer)
The script automatically creates paragraph and character styles and assigns them to the text.
41. Convert Nested Styles into Character Styles (by in-tools.com)
The script converts nested styles into locally-formatted character styles (overriding any manually applied character style that conflicts with the nested style). It works on nested, GREP, and inline styles.
42. Delete empty paragraph style groups (by Kasyan Servetsky)
The script deletes empty paragraph style groups.
43. Batch import paragraph and character styles (by Thomas B. Nielsen)
This script lets you batch import paragraph and character styles from a source document in documents stored in a folder.
End notes, Foot notes, etc.
44. Dynamic endnotes (by Peter Kahrel)
The script converts static endnotes to dynamic ones.
45. Footnotes to Endnotes (by Peter Kahrel)
The script converts static footnotes to dynamic endnotes.
Update 7 March: added a return linker function.
46. Footnotes in columns (by Peter Kahrel)
More than a script, it's a series of scripts and a quick tutorial that help you place and organize footnotes into columns.
47. Dynamic Sidenotes (by Peter Kahrel)
This one is also a series of scripts and a quick tutorial that help with creating sidenotes (also numbered).
Variables, References, and Hyperlinks
48. Show/set text variables (by Peter Kahrel)
The script creates a menu that lists all the variables used in a document, and allows you to change their value (all in one place).
49. Insert a Variable (by in-tools.com)
The script creates a dialog that makes placing text variables easier.
50. Quick Reference (by in-tools.com)
The script simplifies the creation of quick references both with and without anchors.
51. Make hyperlinks from URL (by Kasyan Servetsky)
The script creates hyperlinks from the URLs in the text. It also adds temporary colors to indicate if the hyperlink creation failed or was successful.
52. Hyperlink list viewer (by Kerntiff Publishing Systems)
This script gives you a panel that lists all the hyperlinks present in the document.
53. Create Text Anchors (by Kasyan Servetsky)
The script creates text anchors from the text. You use a Character Style to indicate where each anchor should be, and the script does all the rest.
54. Remove all the hyperlinks (by Harbs)
The script removes all the hyperlinks present in a document.
55. Add bookmarks from a paragraph style
This script helps you to apply bookmarks to a particular paragraph style from an interface.
56. Add bookmarks from a character style
This script helps you to apply bookmarks to a particular characters style from an interface.
57. Sort Paragraphs alphabetically (shipped with InDesign)
The script SortParagraphs sorts the paragraphs in the selection in alphabetical order.
58. Sort Paragraphs alphabetically – light version language-aware (by Peter Kahrel)
This script sorts the paragraphs in the selection in alphabetical order. Unlike the SortParagraph above, this one takes account of the text language. It can't deal with formatted lists (unless the formatting was applied by nested GREP styles).
59. Sort Paragraphs alphabetically – full version language-aware (by Peter Kahrel)
An evolution of the script above. It's configurable and can deal with every kind of sorting (except for text in tables).
60. Table Sort (by Peter Kahrel)
This script lets you sort text inside tables.
61. Index from word list (by Peter Kahrel)
From a word list, the script runs on all the opened documents and creates an index. It's great for author, language, citation indexes and similar indexes.
62. Topics and page references from character styles (by Peter Kahrel)
The script creates topics for and page references to all text formatted with certain character styles.
63. Page references from imported topics (by Peter Kahrel)
The script imports topics and references from another document (InDesign by default imports only the topics, not the references).
64. Building an Index Using Character Styles or External Word List (by Marc Autret)
The script builds an Index using character styles or an external word list. Use it to automatically build subject, language, or author indexes.
65. Clean Up Index Topics (by Kasyan Servetsky)
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.
Find & Replace
66. FindChangeByList (shipped with InDesign)
The script performs a series of common text find/change operations by reading a tab-delimited text file. Check the script below to see how to create the txt file automatically.
67. Find/Change within InDesign Paragraph Styles (by id-extras.com) - $49
The script allows you to do Find/Change properties on paragraph styles.
68. Record Find Change (by Martin Fischer)
The script helps you with creating the FindChangeList.txt file you need to use the script FindChangeByList.jsx shipped with InDesign.
69. Find change by queries (by Kasyan Servetsky)
The script lets you save and run a series of find-change operations.
70. Multi-Find/Change (by Martinho da Gloria)
This is actually an extension – not a script – but it should be mentioned here anyway. It gives you a very useful interface from which you can create and run a series of find-change operations.
71. Identifies Word Stacks (by Rorohiko)
The script applies a character style to any word stack. The Character Style has a thick red underline to help you spot the word stacks.
72. Copy layer (by Redokun)
The script copies an entire layer from a document to another.
73. Batch convert/export documents (by Peter Kahrel)
The script batch converts from indd, indt, inx, idml, pmd, QuarkExpress file format to indd, indt, PDF, PDF (Interactive), eps, rtf, html, xml, jpg, png, swf, and package. It can also be used to export InDesign documents to PDF as separate pages, and change the InDesign version of many files. Last but not least, you can use it to run a specified script against all documents in a folder.
Update 7 March 2017: now the script batch converts also InDesign books to PDF.
74. Page Export and layer combinations (by Scott Zanelli)
The script offers a number of options for exporting your files to PDF, eps or jpg. There is also an option that lets you create a number of different PDFs from different layer combinations (helpful with documents with many language layers).
75. Export book documents individually (by Peter Kahrel)
The script exports all documents in a book to separate PDFs (also page by page, or section by section).
76. Merge indd files into one (by Simon Wiscombe)
The script creates a single InDesign document from several indd files.
77. Place a PDF Pages into InDesign (by Scott Zanelli)
The script automatically imports pages from a PDF (or another indd file) into an InDesign document. It comes with several options like positioning, scaling, rotating etc.
78. Migrate GREP Styles (by Rick Gordon)
The script allows you to migrate a GREP style from a paragraph style in one document to another paragraph style in a different document.
79. What the GREP!? (by Theunis de Jong and Marc Autret)
This script helps you in analyzing and understanding any GREP expression. It's a script you should have if you ever run GREPs.
80. GREP query manager (by Peter Kahrel)
This script creates a panel that displays an overview of all the GREPs used in the current user's folder, shows each query's name, finds expression, and changes expression.
81. GREP editor (by Peter Kahrel)
This script creates a GREP editor. If you ever tried to type a GREP into the InDesign Find/Change box, you’ll know why this script has to exist.
82. Run several queries one after the other (by Gregor Fellenz)
In practice, it is often faster to formulate several simple GREPs and execute them one after the other, than to work on a complex query for a long time. This script allows you to run several queries, one after the other.
83. Build OpenType Fonts from within InDesign (by Theunis de Jong)
The script allows you to create your Fonts directly within InDesign. Add your logo and any pictogram and use them into your documents.
84. Font Reporter (by Marijan Tompa - tomaxxi)
This script creates a report of the Fonts used in a single document or many documents. The report can also be divided by each document.
85. List font properties (by Roland Dreger)
Based on what you choose, the script creates a box that lists all the properties of the text next to each style range, paragraph, story, or insertion point (Here the original post in German).
86. Relink documents in book (by Kasyan Servetsky)
Given a folder, with a book open, the script re-links only missing files in the book.
87. Book from a folder (by Kasyan Servetsky)
The script creates a book from InDesign documents in a selected folder. The book will have the same name as the folder.
88. InDesign Repair for Windows (by Mikhail Kondakov)
This is actually a Win application – not a script – but it's so helpful that I must mention it here. You can use this Win app to repair corrupt InDesign files in some scenarios (Here the original post in Russian).
89. InDesign Repair for Mac (by Stellar Phoenix) - 89€
You can use this script to repair corrupt InDesign files (for Mac only).
90. Create hard covers [updated]
These are two scripts that allow you to create a precise book jacket starting from the dimensions of your document. One is a free script by Marc Autret, the other is by Dan Rodney and it costs $19.99. Check yourself which one you prefer.
91. EAN13/ISBN barcode directly within Indesign (by Marc Autret) - €39
The script creates a vector image of your barcode directly into the document. You can then export the images using one of the scripts described in the images section of this post.
92. Import a HTML page (by id-extras.com) [update]
This script is intended to provide the main text and images on any given web page, and import those into InDesign. The text comes in with same paragraph and character styles ready for use in your publication.
93. Delete empty Text Frames (by Colin Flashman)
This simple script deletes all the text-frames which are empty.
To Redokun's users: sometimes when translating an InDesign file with Redokun, you skip some of the paragraphs which are not necessary in the target language. By doing so, the translated file can contain empty text-frames that might no longer be necessary. This script will come to the rescue.
94. Setting InDesign Preferences (by Keith Gilbert)
Modify and use this script to set your preferences in InDesign. The script comes of help when you update InDesign, or use another computer. It should be run with a document open.
95. Zoom to width (by in-tools.com)
The script zooms to the width of the currently selected text-frame or object. Very helpful with a keyboard shortcut assigned to the script.
96. Speech balloons (by Indiscripts)
This script automatically creates speech balloons. Great for those who work with comics.
97. Import almost anything from another document (by Luis Felipe Corullón)
It imports all the styles (text, table, stroke, object, TOC styles), colors and master pages from an existing InDesign file (name: byLFC_import).
98. Speed Up InDesign (by Gregor Fellenz)
Based on Erica Gamet article, this script helps you to speed up InDesign when a large document comes out. Best feature: you can restore your favorite setting by launching it a second time.
99. History scripts (by in-tools.com)
The script gives you an interface from which you see the undo or redo stack. From the dialog, you can select which point you’d like to go to by name and apply the change avoiding mistakes.
100. Quickmark (by Peter Kahrel)
The script leaves a bookmark at the current cursor position. You can go somewhere else in your document, and then come back to your bookmark later.
101. Work with others n the same file (by Automatication)
The script LayoutZone lets you select several InDesign page elements or frames and convert them to a Placed InDesign ﬁle (.indd). You can edit this exported file and then, when the edit is done, convert it back into a native object.
102. Batch update links to many documents (by Kasyan Servetsky)
The script updates in batch all modified links inside all the InDesign documents located in a selected folder.
103. Link finder (by Gert Laursen) - $40
Given a folder or even an entire hard-drive the script will attempt to find any missing graphics based on name, metadata and size of graphics.
104. Compare two documents (by Kasyan Servetsky)
The script compares two documents and finds the differences between them.
105. Package for Archive (by Kasyan Servetsky)
This script packages all InDesign documents in a selected folder.
This is actually not a script, but our own Redokun.
Redokun provides a hassle-free solution for translating InDesign documents and it’s flexible enough that it can be adapted to pretty much every workflow.
It can work well for freelance designers, and it can be adopted to scale by companies of all sizes with in-house translators around the globe. Learn more about Redokun, and try it for free for 14 days.
These are all great scripts, and they already saved me a lifetime on working with our beloved InDesign. Unfortunately, some of them are not updated to the CC2017 and they might have stopped working. Let me know what you think about this list, if you find any error in the scripts, or if you can't find the script you need.
What’s your favorite one?