Skip to content
Server-sideDeleted in 30 minutes

Convert Markdown to ODT

Markdown carries structure and no presentation, and OpenDocument separates structure from presentation by design. That makes them an unusually good match: the headings, lists and tables land as real document constructs, and the appearance comes from the template rather than from anything the Markdown tried to specify.

Use this without the search next time. Prathom Workbench puts Prathom's tools in your toolbar.

Add to Chrome — free
MDODT

Drop your MD file here, or click to browse

Up to 50 MB. Deleted automatically after 30 minutes.

What it does

  • Headings become heading styles, not just larger text
  • Output is OpenDocument text, native to LibreOffice and readable by Word
  • Tables, links and fenced code blocks are carried across

How to use Markdown to ODT

  1. 1

    Upload the .md file

    A repository document, a wiki export or a note. Nested lists and tables are handled from the parsed structure rather than line by line.

  2. 2

    Structure becomes document styles

    Each heading level maps to the matching OpenDocument heading style, which is what lets LibreOffice or Word build a contents page from the result.

  3. 3

    Apply your template

    The output deliberately uses default styles. Attach your own template afterwards and the whole document restyles at once, because the structure is real.

How it works

The Markdown is parsed to a document tree, then written as OpenDocument text. An ODT file is a ZIP holding several XML parts, and the converter writes the document body into the content part while leaving the styling to the default template.

Because the two formats agree about the separation of structure and appearance, very little has to be invented on the way across. A heading is a heading in both; a list is a list; a table is a table.

The contents-page test

The quickest way to tell whether a conversion produced a real document or a pile of formatted text is to ask the word processor for a table of contents. If headings came through as styles, one appears. If they came through as bold paragraphs, nothing does.

This conversion produces the former, which is why the result is a reasonable starting point for something that will be edited rather than a dead end.

What Markdown does not carry

Page size, margins, running headers, fonts and any other presentation. There is no syntax for these in Markdown, so they come from the template. That is not a shortcoming of the conversion: it is the reason Markdown documents survive being restyled, and the reason the same source can become a web page, a PDF and a document without edits.

When to choose PDF instead

If nobody is going to edit the result, and the appearance must be fixed, convert to PDF. ODT is the right target when the document has a life ahead of it: review, comments, tracked changes, or a template applied by whoever receives it.

Why the heading styles matter

Pasting Markdown into a word processor gives you text that looks right and is structurally empty — headings that are merely large and bold, lists that are lines beginning with a dash.

Converting produces the real thing. A # becomes a Heading 1 style, so the navigator panel works, a table of contents can be generated in one click, and changing how every heading looks is one edit rather than forty.

For a document anyone will maintain, that difference is the whole value of doing this properly. It is also what makes the file accessible: a screen reader navigates by heading structure, and there is none in text that is only bold.

Examples

A technical note for a university submission

note.md - 9 KB, four heading levels, one table
note.odt - heading styles and table intact, editable

Institutions that mandate an open format will accept this. Because the headings are styles rather than bold text, the submitted document can generate its own contents page without anybody reformatting it.

A changelog with fenced commands

CHANGELOG.md - bullet lists and shell snippets
CHANGELOG.odt - bullets intact, code as monospaced blocks

The commands stay legible and indented. Turn off autocorrect before editing in LibreOffice, or straight quotes in a command may be replaced with typographic ones the shell will not accept.

Frequently asked questions

Why convert Markdown to ODT rather than DOCX?

Usually because something asks for an open format. OpenDocument is an ISO standard and is mandated by a number of public bodies, universities and archives for that reason. For ordinary office exchange DOCX is more widely expected, and both open in LibreOffice and in Word, so the choice is normally made by the recipient rather than by preference.

Are the headings real styles or just big text?

Real styles. A level-two heading in the Markdown becomes the level-two heading style in the document, which means a contents page can be generated, the navigation pane is populated, and applying a different template restyles every heading at once. This is the main practical benefit of converting rather than pasting the text into an empty document by hand.

What about images referenced in the Markdown?

An image reference is followed and embedded when the converter can resolve it, which works for images that travel with the document. A link to an image on a remote server that cannot be reached will not appear in the output. If the Markdown lives in a repository alongside its images, converting from that context gives the complete document.