I’m not a legit scripter. These were mostly written with AI assistance, so I can’t vouch for the code—but they work for me. Many are specific to my own workflows, but I thought some other folks might find them useful. (Note: Scripts marked with the icon are mostly—if not only—useful with a keyboard shortcut applied). Use or modify them however you like—and if they save you some trouble and you want to show your appreciation, you can buy me a beer. If you run into any issues with the scripts (they have only been tested in InDesign 2026), you can reach me at lobster [at] lobsterpaws [dot] com. I also take on freelance typesetting, book interior design, and prepress/production work.
apply chapter color overrides
I work with a designer who likes to use a different color scheme for every chapter in cookbooks, but for myriad reasons, I don't want to make a new set of styles for each chapter. Instead I use a placeholder swatch—e.g. "variable-black"—through a single set of styles, then I use this script to override the colors by page range
This script prompts you to identify the variable swatch, a page range, and the color to be swapped throughout that page range.
Before
apply-chapter-color-overrides-1.pngAfter
apply-chapter-color-overrides-2.pngAdded 9/16/2026
apply P style up to closing tag
Most of the Word files I pour into my InDesign documents use tags to indicate where a new style begins (e.g., <H1>) and ends (e.g., </>). Let’s say I have an extract (<EXT>) in my manuscript, this script will prompt you to enter the tag and select the paragraph style that should be applied to those paragraphs.
apply-p-style-up-to-closing-tag-2.pngThis script applies the paragraph style to all paragraphs between those tags, then removes the tags.
apply-p-style-up-to-closing-tag-1.png
apply-p-style-up-to-closing-tag-3.pngIn this particular example, this doesn’t get you all the way there, but big chunks of text throughout your document are automatically styled and cleanup is much easier. In many cases, however, it is one and done. I recommend temporarily using a unique character color in the paragraph styles you are applying, so they stand out when you're going back through your document.
apply-p-style-up-to-closing-tag-4.pngAdded 8/9/2026
apply parent by P style
I have been nagging Adobe for years to make this a native paragraph style feature. This script will prompt you to select a parent page and a paragraph style from your document. Any page on which the selected paragraph style appears will get the selected parent page applied to it.
apply-parent-by-p-style.pngRevised 9/8/2026 by Alberto Gutiérrez
caption-image alignments
A keyboard shortcut isn’t essential for this script, but it helps. The script will automatically align a caption text frame with an image. Select the image and caption text frame and run the script. NOTE: both the image and the caption must either be on the same page, or on the same side of the pasteboard.
caption-image-alignments-2.png
caption-image-alignments-3.pngYou will be prompted to select a number (1, 2, 3, 7, 8, or 9). The positioning logic is based on the number pad: 1 = bottom, left. 2 = bottom, center. 3 = bottom, right. 7 = top, left. 8 = top, center. 9 = top, right. The default is 2 because that’s what I use most.
caption-image-alignments-1.pngAdded 8/9/2026
center text between baselines
I generally prefer to align text to the baseline, but sometimes designers use odd spacing in other text elements—a bulleted list in this example—that throws off vertical centering.
To fix, highlight the text that you want to center and run this script.
Before
center-text-between-baselines-1.pngAfter
center-text-between-baselines-2.pngAdded 9/23/2026
change blank pages to None
This should be pretty self-explanatory. The script will apply the “[None]” parent to any page in the document that doesn’t have any text or art on it. If the blank page has parent items or a page break on it, the script still considers it to be blank.
Revised 8/24/2026
clear C styles from selected P style
When I receive manuscripts, headings are almost always locally formatted as bold in Word. After I apply my character styles in InDesign, these have a bold character style applied. When paragraph styles are applied (I use Multi-Find/Change to apply globally, so “clear character styles” isn’t an option) the bold character style is still applied.
clear-c-styles-from-selected-p-style-1.pngIn this example, the paragraph style's font style is Light. Place your cursor in any paragraph using that style and run the script — it will remove the character style from every instance of that paragraph style in the document.
clear-c-styles-from-selected-p-style-2.pngAdded 8/9/2026
clear hand-drawn guides
When I finish a job I like to clean up my file. This script will wipe out all guides you drew as you were working through your file. I also like to clean up my pasteboard with Indiscripts’ CleanupPasteboard script.
Revised 8/24/2026
export multiple PDFs by range
This script will export multiple PDFs from a document and give you the option to name each individual PDF. Enter page number/range and file name separated by a pipe with spaces on either side.
export-multiple-pdfs-by-range.pngAdded 8/9/2026
export PDF - only pages with links
This script will export PDF(s) of only the pages in your document that have links. It can be exported as a combined document or individual pages. If the latter, it will add the page number to the end of the file name.
export-pdf-only-pages-with-links.pngAdded 8/9/2026
export two PDFs at once
My clients often want a high-resolution and low-resolution PDF for every round of proofs.
export-two-pdfs-at-once.pngAdded 8/9/2026
find 4c text
I avoid printing most text in four colors to avoid any registration issues, but that doesn't stop designers from using it anyway. This script will smoke out any four color text existing in your document.
find 4c text-1.png
find 4c text-2.png
find 4c text-3.pngAdded 9/23/2026
fonts by style
This script shows you which fonts are used in your styles. You can navigate by font or by style and you can even open each style directly through the interface to edit.
fonts-by-style-1.pngYou can also export the results as four different txt file reports.
fonts-by-style-2.pngSelected font
fonts-by-style-3.pngStyles by font
fonts-by-style-4.pngFonts by style
fonts-by-style-5.pngStyle / font list
fonts-by-style-6.pngRevised 9/24/2026 with feedback from KiyTech
generate checklist note
I use the Notes panel constantly during the course of a project so I can go back and check or fix things later on in the process. I’m also big on checklists and have a list of things I always check at the end of a job. I made this script to insert a pre-written checklist at the very beginning of my document—it will insert the note wherever your cursor is.
If you open the .jsx file in a text editor, you can customize your checklist starting on line 32. Every line should end with + "\r" + and the last line in the list should end with a ;
generate-checklist-note-1.png
generate-checklist-note-2.pngAdded 8/9/2026
image DPI report generator
This script creates a .txt file report that lists all files in a document that are under 255 effective DPI.
image-dpi-report-generator.pngAdded 8/9/2026
link redactor
A colleague recently needed to supply someone with an InDesign file, but without any of the links in their frames—frames intact to retain page make-up. This was the answer.
Before
link-redactor-1.pngAfter
link-redactor-2.pngAdded 8/9/2026
package file with two PDFs
Like export two PDFs at once, this script will package a file and let you select two PDF export presets and name each PDF.
package-file-with-two-pdfs.pngAdded 8/9/2026
panel divider
I made this for prepping graphic novels for accessibility features, but I can see it being useful outside of that. If you want to break up a link into multiple links without changing the appearance of the page, draw frames around each part you want to isolate—I recommend a small bit of overlap.
panel-divider-1.pngSelect all drawn frames and the underlying image (per page), and run the script.
panel-divider-2.pngAdded 8/9/2026
poetry alignment
I like to set blocks of poetry flush left on the longest centered line. For years I did this manually and it was a drag. Now, I just select the block I want to re-align and run the script. If you use this enough, it is definitely worthy of a keyboard shortcut.
poetry-alignment-1.png
poetry-alignment-2.pngAdded 8/9/2026
populate custom alt-text from CSV
The next step in this graphic novel accessibility process is to apply the alt-text to the divided frames. Select a frame and run the script. You will be prompted to select a CSV file and the cell in which the alt-text lives.
populate custom alt-text from CSV - 1.png
populate custom alt-text from CSV - 2.pngClick “OK” and the altext is applied to the selected panel.
populate custom alt-text from CSV - 3.pngAdded 8/9/2026
proof sheet creator
To check photo quality and color on art-heavy books, we run every image—cropped and scaled exactly as it appears in the final book—through a large-format Epson proofer. To conserve paper, we gang as many photos as possible onto a single page.
This used to mean tedious copy-and-paste or drag-and-drop work. Now we just set the document size, click OK . . .
psc-1.png. . . and every linked image from the book is automatically placed on the proof sheet.
Before
psc-2.pngAfter
psc-3.pngSome manual adjustment—repositioning or rotating a few images—is often needed afterward, but the script does most of the work with a double click.
Added 8/28/2026
renumber endnote references
I don’t use InDesign’s endnotes feature. The only drawback is that, if an endnote is added or removed, the references don’t renumber. This script takes care of that.
renumber-endnote-references-1.pngAfter removing (or adding) an endnote reference number, run the script, select the character style for the reference number and the next instance of paragraph style to renumber up to. (You can also highlight all of the text you want renumbering in).
renumber-endnote-references-2.png
renumber-endnote-references-3.pngAdded 9/25/2026
set sink rule
I almost always use a “Keep In Frame,” invisible rule to sink items on a page—as opposed to parents of varying margins. This script prompts you for an offset value (in picas)—a rough guess for a starting point (default is 6).
set-sink-rule-1.pngOnce you hit “OK,” it creates an invisible rule with the values populated for the proper sink. From there you can create or redefine a paragraph style. For me, it is surprisingly useful.
set-sink-rule-2.pngRevised 8/14/2026
start paragraph . . .
These six scripts are used to select Start Paragraph options (in Keep Options). A good time-saver if you often need to re-start paragraphs without editing the paragraph style.
start-paragraph.pngAdded 8/12/2026
style sleuth
I was wrapping up a file with an absurd number of styles, organized into an equally absurd number of style groups, sub-groups, and sub-sub-groups. Making things worse, many of the styles inside those groups had been repurposed and renamed from other groups along the way.
For the last bit of housekeeping, I needed to clear out the unused styles. There were a lot of them—but for one reason or another, "Select All Unused" wasn't catching them all. So I built this script to make some sense of what was actually going on with the styles.
Run the script and you're presented with four menus:
Paragraph Styles (Based On) — paragraph styles that are based on others.
Character Styles (Based On) — character styles that are based on others.
Character Styles (Nested/GREP/BN) — character styles associated with a paragraph style.
Object Styles (Based On) — object styles that are based on others.
stylesleuth-1.pngCheck the box next to any style you want to investigate. Checking a group selects everything nested inside it. Click OK, and the script generates a report—both as an on-screen window and as a .txt file.
stylesleuth-2.png
stylesleuth-3.pngAdded 8/28/2026
text anchor - bookmark by P style
I actually created this one for the InDesign mockup of this web page and thought it could be useful to others. For the hyperlinks, I needed to add a text anchor (and/or bookmark) at the beginning of each red style name, and I wanted those text anchors (and/or bookmarks) to have the same name as the style. Place your cursor in the story, and when you run this script it will prompt you to select a paragraph style.
text-anchor-bookmark-by-p-style-3.pngHit “OK” and you will be prompted to select Bookmark, Text Anchor, or Both.
text-anchor-bookmark-by-p-style-4.pngHit “OK” and a text anchor (and/or bookmark) will be added to the beginning of every instance of that paragraph style, and the text anchors (and/or bookmarks) will be named according to the text of that paragraph style.
text-anchor-bookmark-by-p-style-2.png
text-anchor-bookmark-by-p-style-1.pngAdded 8/9/2026
toggle align to baseline grid
This script toggles "Align to baseline grid" on and off. For my workflows it is a nice little time saver. It is only useful a keyboard shortcut.
Added 9/4/2026
toggle no break
This script is only useful a keyboard shortcut. Going to the Character panel’s hamburger menu was too time-consuming for me, so I made this script to apply/remove manual No Break from selected text.
Added 8/9/2026
tracking_gain a line
A keyboard shortcut is necessary for this, but I use it all the time. If I need to gain a line in a paragraph, this script will apply the smallest amount of tracking needed to do so—stopping at +20. Just highlight the paragraph and run the script.
Added 8/9/2026
tracking_lose a line
A keyboard shortcut is necessary for this, but I use it all the time. If I need to lose a line in a paragraph, this script will apply the smallest amount of tracking needed to do so—stopping at –20. Just highlight the paragraph and run the script.
Added 8/9/2026
where the f--k is this style
This one is a companion to style sleuth. After all that sleuthing, I still had a handful of styles I couldn't track down and flush out. The report this script generates shines a bit more light on them.
The interface is similar to style sleuth's, except the menus offer up every paragraph and character style, not just the ones based on others.
wtf-1.png
wtf-2.pngAdded 8/28/2026


