If you work in InDesign and have a need to share files or collaborate on projects then you may have come across the humble IDML file extension. Knowing a little about how this file format works, and what is included in the resulting file can help you navigate a workflow that needs to cater for different versions of InDesign.
In a normal workflow when we save an InDesign document the resulting file is saved in INDD format. What is less evident is that this file is version specific – try opening an InDesign CC file in InDesign CS6 and you’ll be met with an error message as newer files don’t open in older versions.
To allow easy access between different versions of InDesign we have the IDML format (InDesign Markup Language) which is a universal format that can be read by all versions of InDesign from CS4 onward – the IDML format can be selected from the Save or Export menus. In the screenshot below we can see the File Info for an identical InDesign document saved out to the 2 formats – notice the INDD file specifies the version CC 2015.0 but no version number is specified for the IDML file.

The other noticeable difference is the file size – the INDD file here is 6MB but the IDML file is less than half a megabyte at 402KB. The reason for this is simple, and it’s one of the important things to understand about the difference in the two formats.
The INDD file stores a lot of data from the resources used within the file and the most memory intensive of these are the graphics. Every time we place a graphic in InDesign a thumbnail (or preview) of that graphic is generated by InDesign and cached as part of the INDD file. This is a useful feature as it enables us to see how and where all the images should appear within the layout even when the graphics aren’t present. The resources will only be needed for printing/exporting the file. In the example below we can see the preview even though the image is shown as missing in the Links panel.

This does mean that complex InDesign files with lots of graphic resources can get quite large.
However, if we save or export to IDML all of the image previews, along with other cached resource data, are stripped from the file and we end up with an ultra-lean filesize. The IDML file is essentially a text document ‘describing’ our InDesign file rather than the file itself. If we list all the resources and how they are used we have a recipe for recreating the file and this is (in overly simplistic terms) how we move between the different versions of InDesign using the IDML format.
SO WHAT HAPPENS WHEN WE OPEN OUR IDML FILE?
Well, a new InDesign document is created according to the ‘recipe’ within the IDML file and, at this point, InDesign will begin to call for any graphic resources so it can rebuild the required Previews, and this is key point to understand about the process…
…if you don’t have the graphics, you don’t get the previews!!
If I send an IDML file of the above example and don’t send the image with it the preview can’t be rendered so we end up with grey boxes for our graphic frames as below.

This might be fine to work with in a very regimented column layout where everything is contained in discrete boxes but will not be much use in a more fluid layout where text and imagery interact and overlap.
In my experience, this small detail isn’t that well understood and I’m often asked to supply IDML files for foreign-language typesetting of publications that will print in multiple languages. Without supplying graphic resources (as is usually the case in these workflows) the typesetter will be working ‘blind’ as all graphic frames will be render as blank grey boxes. In this particular workflow it’s more desirable to supply an INDD file saved to the required version number if possible.
Once you have a handle on how the two file types differ you can make sensible choices about the best approach to supplying content to colleagues and clients based how they will need to use the files you supply.
The IDML format can also be used to optimise InDesign layouts that have become large and sluggish. As previously mentioned, the INDD format caches a lot of resource data and files can sometimes be bloated by resources that are no longer needed. If you ever use the ‘Save as…’ command to save a copy of a file to another folder you may notice that the filesizes between the two copies varies. This is likely down to unneeded cached data being removed from the newer INDD file. If you want to put your document on an intense diet, and shed unwanted megabytes, try exporting to IDML and creating a new INDD file from there. Any redundant cached data will be shed in the process giving you a nice lean INDD file.