DOCX is Word in the OOXML format, with headings, tables and named styles. ICML is what you place into Adobe InDesign when the text comes from elsewhere. pandoc sits between the two, and this page says exactly what happens to a DOCX file on the way to becoming an ICML one.
What runs when a DOCX file becomes ICML
pandoc in two passes, on a machine we rent and watch. Your DOCX file is uploaded once, pandoc runs once, the ICML comes back, and neither file is kept. DOCX to ICML is one of the 3649 pairs that engine was probed on with a real file, which is why it has a page here and why the pairs the probe could not prove do not.
What survives from the DOCX into the ICML
The heading hierarchy. pandoc parses the DOCX file into its own document tree and writes that tree out as ICML, so a level two heading is still a level two heading and not merely bold text.
Tables, rebuilt in ICML syntax rather than screenshotted. That is the difference between a table a machine can read and a picture of one, and it is the whole reason to send a DOCX file through pandoc rather than through a printer.
Lists from the DOCX file, nesting included, plus code blocks, block quotes and links, all re-expressed in ICML.
Images: pandoc extracts them out of the DOCX file into a working directory and re-embeds them in the ICML, so nothing ends up pointing at a file that no longer exists.
What DOCX to ICML costs you
The presentation layer. pandoc does not translate the DOCX file into ICML, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Where DOCX and ICML files come from
DOCX. Word writes it, and so does Google Docs on export. It is ISO/IEC 29500, a zip of XML, which is what lets a program read the document without opening Word.
ICML. InCopy Markup Language, Adobe's interchange format. A designer places an .icml file into an InDesign layout and the paragraph and character styles land as styles, not as formatting. It is the honest way to get a manuscript into a page layout without retyping it.
If a model is going to read the ICML
Structure is what survives from the DOCX file, and structure is what a model needs. DOCX in, ICML out, with the heading tree intact instead of flattened into one long paragraph.
DOCX to ICML, measured rather than promised
Running DOCX to ICML against the real engine with a real file, pandoc wrote 5,839 bytes of ICML in 0.1 seconds, machine otherwise idle. That is one DOCX file on one day and not an average, which is why the number is given together with the file that produced it.
The DOCX to ICML verdict was reached by finding a marker unique to the format, and the witness word with it, meaning the output carries a marker no other format writes, and the witness word planted in the source is still in it. Nothing can read these targets back, so both were required: the word alone would prove the text travelled, the marker alone that the shape is right. Which check was used matters, because they do not all prove the same thing, and a status code of 200 proves nothing whatsoever about whether the ICML file has anything inside it.
The same DOCX file, sent somewhere else
Other outputs the probe measured out of a DOCX file, so the cost of choosing ICML can be read against something. Sizes do not compare across engines, because each family was probed with its own DOCX witness file.
DOCX to PDF: 11,917 bytes in 1.2 seconds, verified by a format signature.
DOCX to MD: 266 bytes in 0.1 seconds, verified by a pandoc round trip.
DOCX to EPUB: 5,040 bytes in 0.1 seconds, verified by a pandoc round trip.
DOCX to TXT: 264 bytes in 0.1 seconds, verified by reading the text back.
DOCX to HTML: 4,018 bytes in 0.1 seconds, verified by a pandoc round trip.
DOCX to RTF: 4,205 bytes in 1.1 seconds, verified by reading the internal type and finding a witness word.
What we will not pretend about DOCX to ICML
A DOCX file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
A DOCX to ICML run that passes 60 seconds is killed, and the pandoc process is killed with it. A run left behind would sit on one of the machine's two cores until somebody noticed.
32 of the 935 pairs probed in the family that serves DOCX to ICML failed, and this pair is not one of them. They fail for reasons worth knowing: a writer that cannot carry what the document is made of, or output the engine could not read back. They are counted here rather than hidden, because a pair that fails quietly is worse than one that fails loudly.
pandoc never writes the ICML through a TeX engine here, and it never writes PDF at all: the eleven engines it would need are not on this machine and a TeX distribution weighs several gigabytes. Anyone who wants a PDF out of a DOCX file goes through LibreOffice or calibre, both of which genuinely can.
One DOCX file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
DOCX to ICML: what people ask
What actually converts my DOCX file to ICML?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the DOCX file is uploaded once, pandoc runs once, the ICML comes back, and neither file is kept afterwards.
How long does DOCX to ICML take?
On the file the probe used, pandoc took 0.1 seconds and wrote 5,839 bytes of ICML. That is one real measurement on one real DOCX file, not an average and not a promise about yours: a larger DOCX takes longer, and past 60 seconds the run is stopped.
What do I lose going from DOCX to ICML?
The one to know about first: The presentation layer. pandoc does not translate the DOCX file into ICML, it rebuilds it from its own document tree, so custom styles, page setup, headers and footers do not cross over. The structure does, and that is what the tree is made of.
Are the tables in my DOCX file still tables in the ICML?
Yes. pandoc reads the DOCX tables into its own document tree and writes them back out in ICML syntax, so what you get is a table a machine can parse rather than a picture of one.
Is DOCX to ICML free?
There is a free allowance every month, and one DOCX to ICML conversion costs half a credit against it. When the allowance runs out the tool says so and stops, rather than quietly handing you a worse ICML.