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

Why Word Character Styles Won’t Map Cleanly to InDesign Styles

The ability to map Microsoft Word text styles to InDesign styles is an incredibly important feature that many of us rely on to get our work done efficiently. And for the most part, the process works without a hitch. You can even customize the style mapping in the Import Options dialog box. But once in a while you might come across a glitch that prevents the mapping from working correctly. For example, here’s some text in Word that includes a figure reference formatted with a character style.

Here’s how the text is supposed to look when formatted with styles in InDesign. Note the slab serif font.

When the text is placed into InDesign, the Word styles can be mapped to their InDesign counterparts either manually, or automatically if they’re named identically.

But when the character style is applied, there’s a local override (the font from Word) that needs to be removed.

The source of the problem is the way the character style was defined in Word. No font was defined in the New Style/Modify Style dialog box.

Note that it doesn’t matter whether the Word style is based on the Default Paragraph Font or the Underlying Properties of the text. It also doesn’t matter whether the InDesign style specified a font or not. It seems like InDesign needs a specific font to map from, and if it’s not there there the font information is ignored during the mapping and just gets passed through.

So to prevent this problem make sure your Word character styles specify a font.

That way, InDesign can correctly map it to the font specified in your character style.

Mike Rankin

Mike Rankin

Editor in Chief of, InDesign Magazine, and Author of LinkedIn Learning courses on InDesign, Illustrator, GIMP, Inkscape, and Affinity Publisher.
Mike Rankin

Latest posts by Mike Rankin (see all)

  • - November 30, -0001
Related Articles

8 Comments on “Why Word Character Styles Won’t Map Cleanly to InDesign Styles

  1. Ah yes, the horrors of transforming Word documents into ID ones. I’m currently working on a complex, 400-page document that does just that. Over the years, I’ve come up with a lot a scripts to fix the local formatting issues of what comes it. The hassle could be immeasurably improved if ID had two new features:

    1. A metascript that’ll run a series of other scripts in order.
    2. A way to specify that a metascript or script automatically be run on placed text.

    When I’m doing a lot of importing, I tend to forget to run those clean-up scripts. It’s not fun to restore italicization to 100+ endnotes.

    Unicode has solved most of the problems that used to trouble efforts to move character sets around. What we need now is a Uniformat standard, meaning one that would specify formatting in ways that’d move formatting cleanly from one app and document to that same document in another app and survive changes in the font used without the workarounds mentioned in this article. For instance, italicized words could be moved from Word to ID with every assurance the italicization would remain.

    • Why don’t you use a paragraph style for italic endnotes? You might set a style for endnote text and endnote reference in the endnote options before you import the Word file.

    • BTW I often use the Word VBA capabilities for preparing a Word file for Import to ID. Find/change operations can be recorded, then easily copied/pasted/modified in the script, looped (e.g. conditioned using a WHILE filter) etc. Find/change works with multiple codes enabling you to search for paragraphs, tabs etc. You can combine these options e.g. searching for tabs in a certain paragraph style. You might even search for a specific text, cut it, find the right place to put it and insert it there. Very useful!

  2. Another solution would be, to use a script, that Sets all the formats back to their standard:
    myStyles = app.documents[0].allParagraphStyles;
    app.findTextPreferences = app.changeTextPreferences = null;
    //One can start a loop from 0 to include [Basic Paragraph Style]
    for (var n = 1; n < myStyles.length; n++){
    app.findTextPreferences.appliedParagraphStyle = app.changeTextPreferences.appliedParagraphStyle = myStyles[n];
    app.findTextPreferences = app.changeTextPreferences = null;

    I checked it works for paragraph and text styles

  3. Bless you for this article and elegant solution! Nothing is more annoying than being in the throes of page production and having to chase down niggling wrong fonts with Find/Change because Word dropped the ball. I can already feel my blood pressure easing. Thank you!

Leave a Reply

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