Everything about IDML, the Adobe InDesign Markup Language

IDML is the open, XML-based format that describes an Adobe InDesign document completely: its text, its layout, its images and every style that shapes it. Here you can learn how the format works, look inside a real IDML package, and find tools that read and write IDML for you.

Inside IDML: how it works Browse the tools

Story_ub1.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<idPkg:Story xmlns:idPkg="http://ns.adobe.com/AdobeInDesign/idml/1.0/packaging" DOMVersion="17.0">
    <Story Self="ub1" UserText="true" IsEndnoteStory="false" AppliedTOCStyle="n" TrackChanges="false" StoryTitle="$ID/" AppliedNamedGrid="n">
        <StoryPreference OpticalMarginAlignment="false" OpticalMarginSize="12" FrameType="TextFrameType" StoryOrientation="Horizontal" StoryDirection="LeftToRightDirection" />
        <InCopyExportOption IncludeGraphicProxies="true" IncludeAllResources="false" />
        <ParagraphStyleRange AppliedParagraphStyle="ParagraphStyle/Caption">
            <CharacterStyleRange AppliedCharacterStyle="CharacterStyle/Italic">
                <Content>Winter in the royal gardens</Content>
            </CharacterStyleRange>
            <CharacterStyleRange AppliedCharacterStyle="CharacterStyle/$ID/[No character style]">
                <Content>, oil on cardboard, around 1904</Content>
            </CharacterStyleRange>
        </ParagraphStyleRange>
    </Story>
</idPkg:Story>
document.idml

What is IDML?

InDesign Markup Language, explained in plain words

IDML stands for InDesign Markup Language. It is Adobe’s way of writing down a complete InDesign document as XML. Instead of one large binary file, an IDML file is a small package of XML documents and folders, compressed into a single archive — much like a DOCX document or an EPUB book.

That design has a simple benefit: because IDML is XML, it can be read, generated and edited by almost any software. It does not depend on your operating system, on a programming language, or on the exact version of InDesign that created it.

Inside IDML walks through the package step by step, from the entry file to the stories and styles inside. Every folder in the window on the left is explained there.

Inside IDML: the guide

The guide explains the format from the ground up, without assuming that you already know InDesign’s internals. Here are its main chapters.

What is IDML?

The format in plain words: what it is, where it came from and what it is for.

Inside the package

A folder-by-folder tour of designmap.xml, Resources, Spreads, Stories and META-INF.

Text and layout

Why stories and spreads are stored separately, and how a frame points to its text.

Styles

How formatting is defined once in Styles.xml and applied everywhere by reference.

Position and size

Points, the pasteboard coordinate system and transformation matrices.

Questions and answers

Short answers to the questions people ask most often about IDML.

Tools that work with IDML

Some of these are open source, some are commercial. All of them read or write IDML directly, so you can put the format to work.

IDML Creator for PHP

The IDML Creator for PHP is a fee-based library, that allows converting IDML content natively in PHP.

Learn more

IDML Validator for PHP

The IDML Validator for PHP is an open-source library, that allows validating IDML files natively in PHP.

Learn more

IDML Writer for PHP

The IDML Writer for PHP is an open-source library, that allows creating and writing IDML files natively in PHP.

Learn more

IDML to HTML to IDML Converter for PHP

The IDML-HTML Converter for PHP is a fee-based library, that allows converting IDML files into HTML and HTML into IDML files in PHP.

Learn more

IDML to JSON to IDML Converter for PHP

The IDML-JSON Converter for PHP is an open-source library, that allows converting IDML files into JSON and JSON into IDML files in PHP.

Learn more

Markdown to IDML Converter for PHP

The Markdown to IDML Converter for PHP is a fee-based library, that allows converting Markdown into IDML Stories in PHP.

Learn more

Who is behind IDML.dev?

IDML.dev is run by Bit&Black, a development studio based in Stuttgart, Germany. We have been working with IDML for many years, and we build the tools that power much of this site. If you have a question about the format, or a project that needs automated InDesign output, we would be glad to help.

Get in touch More about us