The companion formats
InDesign snippets, InCopy stories and assignments, and libraries — what each file holds, how it is marked, and how it differs from an IDML package.
Three companion formats are single XML files in IDML's vocabulary; the fourth, the library, is a binary container. None of them is a package.
In short An IDML package is a ZIP archive with a mimetype, a designmap.xml and the
parts the design map names. An InDesign snippet (.idms), an InCopy story
(.icml) and an InCopy assignment (.icma) are each one XML file, with no archive and
no design map, identified by the <?aid ?> processing instruction at the top. A library
(.indl) is InDesign's own binary file for reusable items. This page states each as a
fact.
How a companion file identifies itself
Like a design map, a companion file opens with an <?aid ?> processing instruction (see
version markers). Its type pseudo-attribute
says what kind of file it is, where a package's design map says document. Snippet and
story files carry a second instruction naming the kind of snippet.
| Instruction content | Marks |
|---|---|
type="snippet", then SnippetType="PageItem" | An InDesign snippet. |
type="snippet", then SnippetType="InCopyInterchange" | An InCopy story file. |
type="assignment" | An InCopy assignment file. |
These markers are recorded from files commonly seen in the wild. Our corpus holds no companion files, so they have not been checked against InDesign's output for this reference.
InDesign snippets (.idms)
A snippet holds a selection of page items, with their text and the styles, colours and layers needed to rebuild them when the snippet is placed into a document. It uses the element names of the package's spread, story and resource parts.
How it differs from a package: there is no designmap.xml and no ZIP container. Nothing
names a document root or lists the document's stories, and nothing sets document-wide
preferences. The snippet's meaning is completed by the document it is placed into, which
decides what happens to incoming styles and colours whose names it already uses.
InCopy stories (.icml)
An ICML file holds one story, its text and formatting, plus the styles it uses. It is the file InDesign and InCopy exchange when a story is edited separately from the layout.
How it differs from a package: there is no spread, so no frame, no geometry and no page.
In a package a story is reached through the design map's StoryList and laid into frames
that name it in ParentStory (see content parts).
An ICML story has nowhere to flow until it is linked back into a layout.
InCopy assignments (.icma)
An assignment groups stories into a unit of work for one editor and records which stories belong to it.
How it differs from a package: it describes work on a document rather than the document. It refers to stories rather than standing alone as something to lay out.
Libraries (.indl)
A library is InDesign's file for keeping reusable items across documents: a masthead, a pull-quote treatment, a logo. Its items behave like snippets when you drag them into a document.
How it differs from a package: it is not an XML format at all. Its internal structure is not described in this reference.
Side by side
| File | Container | Holds |
|---|---|---|
IDML package (.idml) | ZIP archive | A whole document: mimetype, designmap.xml and its parts. |
InDesign snippet (.idms) | one XML file | Page items with the resources they need; placed into a document. |
InCopy story (.icml) | one XML file | One story's text and styles; no geometry. |
InCopy assignment (.icma) | one XML file | A group of stories for an editor. |
Library (.indl) | InDesign binary file | Reusable items. |
How each one turns up in practice is on when each applies.
In Paged: none of these files can be opened; Paged's IDML importer reads
.idmlpackages and.pagedcontainers only. Planned
Frequently asked questions
What is the difference between an .idms snippet and an .icml story file?
A snippet holds page items, with their geometry and the resources they need, ready to be
placed into a document. An ICML file holds one story's text and formatting with no page
geometry at all. One is a piece of layout; the other is text without a place to sit.
How can I tell which companion format an XML file is?
Read the <?aid ?> processing instructions at the top. type="snippet" with
SnippetType="PageItem" marks a snippet; type="snippet" with
SnippetType="InCopyInterchange" marks an InCopy story; type="assignment" marks an
assignment. A package's design map says type="document".
Is an InDesign library made of snippets?
Its items act like snippets when placed, but the library file (.indl) is InDesign's own
binary format, not a collection of XML files.
Can Paged open any of these files?
No. Paged opens IDML packages and .paged containers. There is no reader for snippets,
InCopy files, assignments or libraries.
Companion formats
The files that share IDML's vocabulary without being a document package — snippets, InCopy stories and assignments — and the library file that holds snippets.
When each applies
The workflows behind IDML's companion formats — reusing layout, editing copy apart from layout, assigning stories — and how each relates to the package.