is now part of!

A Script for Setting InDesign Preferences


As new versions of InDesign are released frequently, and as I move from computer to computer frequently, I have found it more and more challenging lately to keep all of the preferences and panel options set up the way that I like them. So I did what any reasonable person would do in this situation…I wrote a script to set all of my preferences.

If you’re interested, you can download a copy of the script here. A few things you should know.

  • The script is intended to be run with a document open. Why? Some preferences in InDesign are document preferences, and some are application preferences. This script sets both, so it requires that a document be open.
  • You can easily edit the script to make it set the preferences the way YOU want them. If you are adventurous, open the script with a text editing program, make your changes, and save the file in text-only format with a .jsx extension. You’ll see lots of text in the script preceded with “//”. This text is “commenting” that I’ve added liberally to help you figure out how to make changes.


  • The first 200+ lines of the script set each and every one of the settings found in InDesign > Preferences (Mac) or Edit > Preferences (Windows).
  • The lines following those set most of the options found in the various menus in InDesign.
  • Next, you’ll see lines that set many of the options found in various panel menus, such as the appearance of the Pages panel
  • The final lines set various setup-related things the way that I like them.
  • Unfortunately, there doesn’t appear to be any way to set the small panel rows option that appears in the Paragraph Styles panel menu and many other places. Likewise, there isn’t a reliable way to turn on the View > Extras > Show Text Threads setting with a script.

I’m sharing the script here with a bit of trepidation. The way I like to have my preferences and panel options set is not necessarily the way you want them to be. I don’t want to start a firestorm of “why do you set up your preferences that way!”

If you have suggestions for making the script better, please leave them in the comments below. However, I can’t provide any technical support for the script. And of course, you use the script at your own risk. I use the script every day, but I can’t be responsible for what it might do to your InDesign setup or documents.

Keith Gilbert is a design consultant, developer, educator, speaker, and author. His work has taken him throughout North America, Africa, Europe, and Asia. During his 35+ year career his clients have included Adobe, Apple, Target, Oracle, and the United Nations. He is the author of several popular titles for LinkedIn Learning, Adobe Press, and CreativePro. Find him at and on Twitter @gilbertconsult
  • Scott Citron says:

    Hi Keith:
    Many thanks for these set up scripts. Very helpful. One question, I prefer to have Type > Apply Leading to Entire Paragraphs enabled. How and where would I add that line of code to the script?


  • Keith Gilbert says:

    Hi Scott…glad you find these useful. As Jean-Claude pointed out, line 54. Just change myDoc.textPreferences.useParagraphLeading = false; to myDoc.textPreferences.useParagraphLeading = true;

  • Melise Gerber says:

    Keith, thank you SO much for this. I might even be able to retire the printout of screenshots of my preference settings that I carry around in my purse everywhere I go!

    • Angie says:

      I feel like a dolt for not thinking of making a screenshot. All I do is gnash my teeth and grumble at each new version installation. I need to be more proactive!

  • Ann says:

    Wow, how brilliant. Don’t suppose this runs on CS6 does it?

  • Thanks Keith! The pain of upgrades just got a lot less.

  • Kieth

    There are three files in the Setup script folder.
    Read_me.pdf – This looks like initial paragraph is a hold over from a different script:

    “These scripts make it easy to export a selection, a page, a range of pages, or an entire document to JPG les at a speci c image dimension. For example, if you need a JPEG that is exactly 1000 pixels wide, these scripts make that easy.”

    You have a digital and print setup. Do you run these whenever you change project type, rather than whenever there is an update for the application?

    • Keith Gilbert says:

      Thanks for the heads up about the readme file, Frederick. I’ve corrected it.

      I run these scripts sometimes several times a day. Both as I switch from one project type to another, but also when I receive files from others that I need to work on, and I want the document preferences set up the way that I like them. For example, they may have set the measurement system to millimeters, but I like picas, etc.

  • Mike Witherell says:

    Wouldn’t it be great if the script could be in ANY folder, like say a folder on the desktop, and double-clicking it causes these changes to occur? Or wouldn’t it be great if there was an executable that injected it into the correct deep sub-folder within InDesign, so that you didn’t have to go to the trouble of finding that elusive folder? That would truly speed up my classroom preparation when I am conducting an InDesign class!

  • @Mike You can assign a shortcut key to a script so you no longer need to dig to find it. I always am one click away from the scripts in the script panel, so this is not much of a problem for me.

  • Mike Witherell says:

    Yes, Frederick, but I was wishing for the ability to inject from the desktop as I walk up to a new machine, or when I get a new script and want to quickly install it on my own computer.

  • In mining your in-depth script I came across this, helpfully wrapped in an if statement. It looks like you are replacing the U.S. English dictionary with a custom one. Am I right? Is this because you want less or more words?

    var fullPathOfUDC = “Macintosh HD:Users:keithgilbert:Dropbox:Templates:keith_indesign_dictionary.udc”;
    if (File(fullPathOfUDC).exists) {
    var languages = app.languagesWithVendors.everyItem().getElements();
    for (var n=0; n<languages.length; n++) {
    if (languages[n].name == app.translateKeyString("$ID/English: USA")) {
    var result = languages[n].addDictionaryPath(fullPathOfUDC);
    languages[n].hyphenationVendor = "Hunspell";
    languages[n].spellingVendor = "Hunspell";
    // languages[n].doubleQuotes = ;
    // languages[n].singleQuotes = ;

    • Keith Gilbert says:

      This doesn’t replace the U.S. English dictionary. Instead, it adds a second dictionary, a “user dictionary” to the mix. I use this dictionary for words that I want to add to the dictionary, so that I can transport it from InDesign version to InDesign version.

  • Federico Platón says:

    Thanks a lot Keith, I am sure it will make some things easier.

  • Ralf Funke says:

    good job!
    Do you have any idea how to set the layout view in InCopy Preferences? Drives me nuts. There does not seem to exist a preference for this. It looks like one can only set it with an open window. And when I try to invoke the menu item InCopy crashes.

  • Jean-Renaud Boulay says:

    Hi Keith.

    Great job, as a trainer too I guess I will enjoy your script.

    In my dream, this script is double: one script to copy current InDesign settings, and this script to paste them back into a new fresh install.
    (I ready to pay for that)

    Thnak you.

  • Jean-Renaud Boulay says:

    Sorry for typos, I cannot edit my previous message ;-)

  • Masood Ahmad says:

    Is there any Script that can reset the Preferences to default (irrespective of the InDesign version).
    I do not want to press the magic keys everytime to turn things to default. I think putting a JavaScript in “Startup Scripts” folder would be a good idea.

  • Peter Amirault says:

    I’m looking to see if there are any scripts that will set: Tracking to 0; Kerning to 0; Horizontal & Vertical to 0; Baseline Shift to 0; Skewing to 0; any text using All Caps to Change Case/UPPERCASE; turn off Hyphenation; Clear Transformations; and any subscript characters to normal size.

    Not sure if any of these exist, I’ve been searching and only found something close for hyphenation. I’m working on a few hundred templates that I have to check all this and numerous other steps, which all have a few dozen separate text boxes throughout each file, on multiple pages.

    And trying to minimize my work. Any leads or tips would be greatly appreciated.



  • Dean Perry says:

    Great to see you chose to release this script Keith after previewing at the conference in DC.
    Wondering if you can help with how I would set the EasyCatalog Workspace folder, this folder is set via Indesign preferences – on a separate EasyCatalog menu. There seems to be a “workspaceFolder” variable but I’m not sure how to set via a script like yours.
    Thanks in anticipation!

  • Jean-Claude Tremblay says:

    Is there a version of Keith’s script for InCopy?

  • David Hillel says:

    hi. the script looks awesome. is there any way to make it take a snapshot of all my CURRENT preferneces and then use it for future prefernces changes? would save me a lot of time going through the 300+ lines and trying to figure out what’s the meaning of each one.

  • Federico Blasi says:

    Hello, I have a problem with “// Preferences : Grids” that i set differen for every single project/magazine(I use text allign to grid): Can I delete them?

    • Keith Gilbert says:

      @Federico, you can delete any of the lines beginning with “myDoc.gridPreferences” without causing any problems.

  • Tobias Trofast says:

    Great script Keith!
    Do you know if the Color Settings (Edit > Colour Settings) also scriptable?

    • Keith Gilbert says:

      Hi Tobias. Good idea! I’ve added this to the script. See line 308, which now sets the color settings to “North America General Purpose 2” but you can change it to whatever you wish. The individual color settings are also scriptable, but seems to me that for almost all use cases that just specifying the settings file is enough. Let me know if you need something different. Hope you’re getting some good skiing in this winter!

      • Tobias Trofast says:

        I did a little digging in the InDesign Extendscript API and found all the settings. Really helpful when trying to reset our university lab computers.

        And yes, though there is an enormous lack of natural (aka. eco-friendly) snow here this year, we are hunting high and low for man-made dito.
        All the best! // TT

  • Robert Wiedemann says:

    Hi Keith,
    I got an error while running the script. I translated the error code from German to English (Indesign 2021, MacOS 12.1)

    JavaScript Error!
    Error number 30477
    Error string: Invalid value for composer property setup. String expected, but “Adobe Paragraph Composer” received.
    Engine: main
    File: /Users/xxxxxx/Library/Preferences/Adobe InDesign/Version 16.0/en_DE/Scripts Panel/Setup-print.jsx
    Line: 91
    Source: myDoc.textDefaults.composer = “Adobe Prargraph Composer”;


    • Keith Gilbert says:

      If you’re running the German version of InDesign, I believe you’ll need to replace “Adobe Paragraph Composer” in line 91 with the equivalent string in German. In other words, what is displayed in the paragraph panel menu for composer options.

  • Bret Linford says:

    Thanks Keith! I noticed that the default cmd+w is turned off. How do I restore that? Thanks!

    • Keith Gilbert says:

      Bret, the script doesn’t do anything to keyboard shortcuts, except line 376 it tries to apply a keyboard shortcut set named “Keith”. If you don’t have a set named “Keith”, the shortcut set is ignored. I don’t know what is going on. Do you mean the Command+W shortcut to close the active document?

      • Bret Linford says:

        Hi, Keith. Yes, for some reason ‘Close’ doesn’t have the shortcut anymore. Thanks!

      • Bret Linford says:

        Hi, Keith. I tried copying my keyboard shortcuts to a new set, removed the default cmd+W, then custom assigned it. I quit InDesign and it was back – I then ran your script and it disappeared. Weird…

      • Bret Linford says:

        Hi, Keith. Yes, for some reason ‘Close’ doesn’t have the shortcut anymore. Thanks!

  • Fastline Publications, Inc. says:

    I never thought about scripting this. On a Mac and I went about this a bit differently. It’s not unusual for InDesign prefs to corrupt on occasion and need to be replaced. Since I manage several Macs I didn’t have time to go in and reset them to our settings and each individual employee’s settings when this happened. My solution was to set all the InDesign preferences the way our company needs them and then have the employee set things the way they wanted. I copied those settings to our server in a folder for each employee. Using Automator I created a flow that copies those saved preferences to the appropriate folder on the Mac when run. I stored the Automator file on the individual’s computer and that way I just go in and run it and it’s easy to reset everything to the our standards and the way each employee likes it when something goes sideways.

  • Karl Pearson says:

    Could someone please help me with the code to change this script from USA dictionary to UK dictionary. I can’t seem to get it working. Everything else works perfect for my setup.

  • >