Dynamic endnotes (CS4 and later)

MS Word has dynamic footnotes and dynamic endnotes; InDesign has just dynamic footnotes. When you place a Word document with endnotes in InDesign, Word's dynamic endnotes are therefore converted to static endnotes. This means that if you add or remove notes, you have to change note numbers and references manually.

The script described here converts the static endnotes to dynamic ones so that footnote references can be updated automatically after adding and deleting footnotes.


Before you run the script, make sure that the endnote paragraph style has been applied to all endnotes and that that style is used for endnotes only. Then run the script.

The script shows a dialog with two dropdowns, one with the character styles defined in the active document, the other with the document's paragraph styles. If the script finds the MS Word style names Endnote Text (a paragraph style) and Endnote Reference (a character style) in the document, these names (or a localised version) are preselected in the dialog:

Dynamic endnotes

If the script can't find any standard name, select the style names used in the document for the endnote text and the references. To run the script, press Enter/Return or click OK.

Some details

The script converts static endnotes to dynamic endnotes by applying the method outlined by Peter Gold, mentioned elsewhere. It works as follows:

  1. It removes phantom note references. In placed Word documents you often find the character style for note references applied to white space. These must be removed, otherwise the script gets confused.
  2. It checks that there are as many endnote references as there are endnotes. What counts as an endnote is a paragraph (in the selected paragraph style) that starts with any tabs and a number. If the check fails, the script will tell you how many references and how many notes it sees.
  3. It adds a paragraph style Endnote Text_numbered, based on the Endnote Text style, and adds paragraph numbering. It applies this style to each paragraph that has the paragraph style Endnote Text applied to it and that starts with a number.
  4. The script adds a cross-reference format endnote.
  5. It creates cross-references by linking the endnote references and the endnotes.
  6. Finally, it removes the original, imported, note references.

Adding, removing, and updating notes

See Adding and deleting notes: managing cross-references for details on how to manage dynamic endnotes.


The notes must not be in an automatically numbered paragraph style. The script warns you if that's the case. Exit the script and disable the style's automatic paragraph numbering. Convert the numbers to plain text first if necessary: select all the notes, right-click, select Convert Numbering to Text.

Version history

5 Feb. 2017: The script now supports styles in style groups.

30 Nov. 2016: Relaxed the recognition of endnotes: paragraph-initial tabs are now handled too.

6 May 2015: Needed a better check on the presence of a named cross-reference format.

22 March 2012: Groups of endnotes are now numbered so that each group starts at 1, for example, when endnotes are grouped by chapter at the end of a document. And the production of links is now more robust.

1 Oct. 2010: Endnotes with forced line breaks and endnotes consisting of more than one paragraph could create a problem. Fixed.

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 Kahrel's paypal account

Click to show script -- to download, right click, then Save Link/Target A

Back to script index

Installing and running scripts

Questions, comments? Get in touch