Thanks for coming to, the world's #1 resource for all things InDesign!

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. To learn more about InDesign scripting, see my InDesign Scripting Made Easy course on either or LinkedIn Learning.


  • The first 242 lines of the script set each and every one of the settings found in InDesign > Preferences (Mac) or Edit > Preferences (Windows).
  • Lines 243-279 set most of the options found in the View menu
  • Lines 290-331 set many of the options found in various panel menus, such as the appearance of the Pages panel
  • The rest of the lines set various setup-related things the way that I like them.
  • The script has been tested back to InDesign CC 2014. It may or may not work in older versions.
  • 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

Keith Gilbert

Keith Gilbert is a digital publishing consultant and educator, Adobe Certified Instructor, Adobe Community Professional, conference speaker, author, and contributing writer for various publications. His work has taken him throughout North America, Africa, Europe, and Asia. During his 30 years as a consultant, his clients have included Adobe, Apple, Target, the United Nations, Best Buy, General Mills, Lands' End, and Medtronic. Follow him on Twitter @gilbertconsult and at
Keith Gilbert

Latest posts by Keith Gilbert (see all)

  • - November 30, -0001
Related Articles

27 Comments on “Script for Setting InDesign Preferences

  1. 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?


  2. 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;

  3. 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!

    • 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!

  4. 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?

    • 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.

  5. 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!

  6. @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.

  7. 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.

  8. 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 = ;

    • 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.

  9. Keith,
    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.

  10. 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.

  11. 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.

  12. 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.



  13. 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!

Leave a Reply

Your email address will not be published. Required fields are marked *