Title case

InDesign's Title Case function changes a selection's capitalisation to title case. The trouble is that all words in the selection are converted to initial case. This is wrong: you want The Adventures of a Troubled Soul, not The Adventures Of A Troubled Soul. At the same time, if words like a and the follow a colon or a period, they should be capitalised: Columbus: An Adventurous Soul.

The script, title_case.jsx, comes with a list of words, titlecase_exceptions.txt. This list contains words that in English texts should not appear with an initial capital. You can add and/or replace words to your own taste. If you do change the list, use a plain-text editor.

Like most of its formatting functions, InDesign's title case function can be applied only to some selected text. But as selecting text is a tedious activity, and since applying title case in long bibliographies is one of the most mind-numbing things you can do, the script can often be used without making text selections. Details follow.


The script has no interface. It has five modes:

1. Place the cursor in some italic text, run the script: only the current italic text is title-cased. No need to select text: just place the cursor somewhere in some italic text and run the script.

2. Place the cursor inside some quotation marks, run the script: only the text inside the quotes is affected. The script first checks if the cursor is embraced by double quotes, then if it's surrounded by single quotes. If titles are in single quotes there is some scope for errors if the title also includes apostrophies, so you need to keep your eyes open. Again: no need to select text, just click somewhere inside some quotes.

3. If the insertion point is not italic and if it's not in quotation marks, then the script applies to the whole paragraph.

4. If what you want to title-case can't be defined by italics or quotes, and if you don't want to title-case the whole current paragraph, you'll have to resort to the good old selection method: select some text, then run the script.

5. The fifth mode affects all italic text in a story. To use this mode, select a text frame and run the script. The text frame's parent story is processed, not just the frame's contents.

The exception list

The exception list is a simple text file that lists the words that the script should ignore, each exception on a separate line. When you change the list, be careful not to type any spaces. The list and the script should be stored in the same folder.

Version history

24 June 2017: Paragraph-initial words weren't always converted. Fixed.

1 July 2012: Posted.

Useful script? Saved you lots of time?

Consider making a donation. To make a donation, please press the button below. This is Paypal's payment system; you don't need a Paypal account to use it: you can use several types/brands of credit and debit card.

Peter's paypal account

Download script: right-click, then select 'Save link as' (or 'Download')

Download exception list (right-click etc.)

Back to script index

Installing and running scripts

Questions, comments? Get in touch