idmly
Try the converter Live · $49 license
Explainer

IDML vs INDD: what's the difference, and which one do you want?

Published September 2026 · by Kelly Fraser, maker of idmly

IDML is InDesign's open, XML-based interchange format. INDD is InDesign's native, binary project file. An .indd is the document you work in day to day, tied to the version of InDesign that saved it. An .idml is the same layout written out as a zipped package of XML, so it opens across InDesign versions, opens in Affinity Publisher, and can be written by software that isn't InDesign at all.

Both open as a fully editable layout. The difference is what each one is for: INDD for doing the work, IDML for moving the work somewhere else.

Most people meet this question mid-job. A file won't open in your version. A client wants "the InDesign file" and you're on Affinity. A design that started life as HTML needs to end up in InDesign. Here's the practical version.

The comparison

IDML vs INDD
 IDMLINDD
What it isOpen interchange formatNative project file
Under the hoodZipped XML (rename it .zip and look)Proprietary binary
Editable in InDesignFully, opens as a new untitled documentFully
Across InDesign versionsCS4 and later, in either directionForward only: a newer version's file won't open in an older one
Opens in Affinity PublisherYesNo
Typical useHandoff, version rescue, plugin and script output, generated from another sourceDay-to-day editing, saving, packaging for print
File sizeUsually smaller (compressed XML, no cached previews)Larger (carries previews and working data)
Fonts and imagesFonts by name, images linkedFonts by name, images linked (or embedded)
Who can write itInDesign, Affinity Publisher, scripts, converters such as idmlyInDesign only

What an INDD is

The .indd is InDesign's workhorse. It's a binary file that holds everything about the document as InDesign understands it, and it's the format you save to a hundred times a day without thinking.

It has one real limitation, and it's the reason this article exists: an INDD is locked to the version that saved it, going forward. A file saved in this year's InDesign won't open in last year's, and there is no "save as older version" menu item. Newer releases will offer to convert a too-new file for you, and what comes back from that conversion is an IDML. Which tells you what IDML is for.

What an IDML is

.idml stands for InDesign Markup Language. Adobe introduced it with CS4 in 2008 to replace the older INX format, and it has been the interchange format ever since. It's a ZIP archive of XML files that describe the spreads, the stories (your text), the paragraph and character styles, the colours, and the links to your images. Because it's XML, any software that follows the spec can read or write one.

Open an IDML in InDesign and you get a fresh Untitled document with everything live: text frames you can reflow, named styles you can edit, objects you can move. Save that and you have an INDD. If you want the deeper tour of what's inside the package, read What is IDML?

When you'll meet each one

INDD is every normal day. You open it, edit it, save it, package it for the printer. If everyone on the job is on the same version of InDesign, you may never touch anything else.

IDML turns up in four situations:

  • 01Version mismatch. A freelancer on last year's Creative Cloud, a printer who never updates, an archive from 2014. IDML is the file that crosses the gap.
  • 02Affinity Publisher. It can't open an INDD, and it can open an IDML. If either side of a handoff is on Affinity, IDML is the format.
  • 03Plugins, scripts and other layout tools. Anything that generates an InDesign document without being InDesign writes IDML, because IDML is the format with a public spec.
  • 04A design that started as HTML. This one is new, and it's growing fast.

The new case: your design started in a browser

Claude, ChatGPT, v0, Lovable, Bolt, Gemini and Figma Make all hand you a layout as HTML. It looks finished. It is finished, on screen. Then someone asks for the InDesign file, and InDesign has no HTML import. Not a menu item, not a plugin from Adobe, nothing.

Until recently you had two options. Print the page to PDF and place it, which gives you one flat picture with the text as outlines. Or rebuild the whole thing by hand, box by box, style by style.

IDML is the third option, and it's the one that works. Because IDML is writable by software, a converter can look at the rendered page and write the exact XML InDesign expects. That's what idmly does. It renders your HTML in a real browser, reads the computed layout, and writes a native .idml: real text frames with the text still live, named paragraph and character styles, charts redrawn as editable vectors, fonts bound by name. Under thirty seconds for a typical report. You open the result, hit Save As, and from that point on it's an INDD like any other.

Nobody chooses IDML in this workflow for its own sake. It's the bridge, and the bridge is the point.

Mistakes that cost people an afternoon

Treating the IDML as the working file

An IDML opens as Untitled every single time. If you edit it and close without saving an INDD, the edits are gone. Open it once, save the INDD, work there. Send an IDML only when you're handing off.

Expecting the fonts to travel

Neither format embeds fonts. Both record the font by name and expect it to be installed. Pink highlighting on open means a font is missing, and the fix is the same as it has always been: install it, or use Package to collect it. Because idmly binds fonts by name rather than outlining them, the same rule applies to its output. Install the fonts the design used (most AI tools reach for Google Fonts, which are free) and the pink goes away.

Expecting the images to be inside

An IDML links to images; it doesn't contain them. Open one on its own and you'll see grey boxes and a Missing Link warning. Keep the Links folder next to the file. When a design has images, idmly sends back a zip with the .idml and a Links folder together, for exactly this reason.

Going backwards without checking

An IDML opened in an older version drops or simplifies anything that version doesn't support. Usually that's nothing you'd notice. Sometimes it's a new text feature or an effect, and it's gone quietly. Open the file in the target version and look before you send it as final.

Feeding InDesign something that isn't an IDML

A raw HTML export, a .zip renamed to .idml, a file written by a tool that only roughly followed the spec: InDesign refuses all three with the same message about the file being damaged. Quick test: rename the file to .zip, open it, and look for designmap.xml at the top level. No designmap, no IDML. This is the failure behind most "my AI design broke when I opened it in InDesign" stories, and it's a tool problem, not a format problem.

Which one should you send?

Same InDesign version on both ends: package the INDD. That's what Package is for, and it collects fonts and links for you.

Different version, Affinity on either end, or you don't know: IDML, with the Links folder and a list of fonts. It opens everywhere that matters.

The design is HTML: generate the IDML. Drop the file into idmly, open what comes back, save it as an INDD, and carry on as if it had always been one.

Frequently asked questions

Is IDML the same as INDD?
No. INDD is InDesign's native binary project file, tied to the version that saved it. IDML is InDesign Markup Language, the open, XML-based interchange format that describes the same layout as a zipped package of XML. Both open as fully editable InDesign documents.
Can InDesign open an IDML file?
Yes. Every version from CS4 onward opens an .idml directly (File, Open). It arrives as a new untitled document, which you then save as an .indd.
How do I convert an INDD to IDML?
File, Export, and pick InDesign Markup (IDML) as the format. File, Save a Copy offers the same choice. Either way it writes a copy; your INDD is untouched.
How do I convert an IDML to INDD?
Open the .idml in InDesign and choose File, Save As. That's the whole conversion.
Can I open an INDD in an older version of InDesign?
Not directly. INDD is forward-only and there's no save-as-older-version option. Export an IDML from the newer version and open that in the older one, then check for anything the older version dropped.
Which is smaller, IDML or INDD?
Usually the IDML. It's compressed XML with no cached previews, while an INDD carries previews and working data. Neither embeds fonts, and both link to images rather than storing them.
Can I create an IDML without InDesign?
Yes. Affinity Publisher exports IDML, scripts and plugins can write it, and idmly generates a native .idml straight from a self-contained HTML layout, including the ones Claude, ChatGPT, v0 and Figma Make produce.

Have a design that needs to become an IDML?

Drop your HTML in and the first two pages come back as a native, editable InDesign file, free. No account needed.