Markdown is markup you can read with your own eyes, and the format language models read best. ODT is OpenDocument text, the native format of LibreOffice Writer. pandoc sits between the two, and this page says exactly what happens to an MD file on the way to becoming an ODT one.
What runs when an MD file becomes ODT
pandoc in two passes, on a machine we rent and watch. Your MD file is uploaded once, pandoc runs once, the ODT comes back, and neither file is kept. MD to ODT 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 MD into the ODT
The heading hierarchy. pandoc parses the MD file into its own document tree and writes that tree out as ODT, so a level two heading is still a level two heading and not merely bold text.
Tables, rebuilt in ODT 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 an MD file through pandoc rather than through a printer.
Lists from the MD file, nesting included, plus code blocks, block quotes and links, all re-expressed in ODT.
Images: pandoc extracts them out of the MD file into a working directory and re-embeds them in the ODT, so nothing ends up pointing at a file that no longer exists.
What MD to ODT costs you
The presentation layer. pandoc does not translate the MD file into ODT, 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 MD and ODT files come from
ODT. LibreOffice Writer writes it natively. Like ODS it is ISO/IEC 26300, and it turns up wherever a public body or a policy asked for an open format rather than a vendor one.
If a model is going to read the ODT
Structure is what survives from the MD file, and structure is what a model needs. MD in, ODT out, with the heading tree intact instead of flattened into one long paragraph.
MD to ODT, measured rather than promised
Running MD to ODT against the real engine with a real file, pandoc wrote 7,537 bytes of ODT in 0.1 seconds, machine otherwise idle. That is one MD file on one day and not an average, which is why the number is given together with the file that produced it.
The MD to ODT verdict was reached by a pandoc round trip, meaning the output was read back by pandoc and had to still contain a witness word planted in the source, which proves the content travelled and not merely the container. 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 ODT file has anything inside it.
The same MD file, sent somewhere else
Other outputs the probe measured out of an MD file, so the cost of choosing ODT can be read against something. Sizes do not compare across engines, because each family was probed with its own MD witness file.
MD to PDF: 25,764 bytes in 1.9 seconds, verified by a format signature.
MD to DOCX: 10,106 bytes in 0.1 seconds, verified by a pandoc round trip.
MD to EPUB: 5,034 bytes in 0.1 seconds, verified by a pandoc round trip.
MD to TXT: 264 bytes in under a tenth of a second, verified by reading the text back.
MD to HTML: 4,018 bytes in 0.1 seconds, verified by a pandoc round trip.
MD to RTF: 687 bytes in under a tenth of a second, verified by a pandoc round trip.
Other ways into ODT, and what they measured
Among the published routes into ODT, MD is the sixth largest output of the 8 measured. The witness files differ, so this ranks the probe run and not your document.
TXT to ODT: 6,941 bytes in 0.1 seconds.
DOCX to ODT: 12,806 bytes in 1.2 seconds.
RTF to ODT: 12,670 bytes in 1.2 seconds.
DOC to ODT: 12,484 bytes in 1.2 seconds.
CSV to ODT: 7,057 bytes in 0.1 seconds.
What we will not pretend about MD to ODT
An MD file over 25 MB is refused before the upload finishes rather than after it, so you do not wait for a rejection.
An MD to ODT 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 MD to ODT 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 ODT 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 an MD file goes through LibreOffice or calibre, both of which genuinely can.
One MD file at a time, chosen in the browser. There is nothing else to set up and nothing else on offer.
MD to ODT: what people ask
What actually converts my MD file to ODT?
pandoc does it, in two passes, on a machine we rent and watch. Not a browser trick and not somebody else service: the MD file is uploaded once, pandoc runs once, the ODT comes back, and neither file is kept afterwards.
How long does MD to ODT take?
On the file the probe used, pandoc took 0.1 seconds and wrote 7,537 bytes of ODT. That is one real measurement on one real MD file, not an average and not a promise about yours: a larger MD takes longer, and past 60 seconds the run is stopped.
What do I lose going from MD to ODT?
The one to know about first: The presentation layer. pandoc does not translate the MD file into ODT, 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 MD file still tables in the ODT?
Yes. pandoc reads the MD tables into its own document tree and writes them back out in ODT syntax, so what you get is a table a machine can parse rather than a picture of one.
Is MD to ODT free?
There is a free allowance every month, and one MD to ODT 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 ODT.