Convert LibreOffice & OpenDocument files to Markdown
OpenDocument text is the file LibreOffice Writer and Apache OpenOffice Writer save as their own document. This page reads that .odt package, and it also accepts a .docx file when that is the export you already have.
- In LibreOffice Writer, choose File → Save As, then ODF Text Document (.odt) or a Word document (.docx). In Apache OpenOffice Writer, choose File → Save As, then ODF Text Document (.odt).
- Upload that file. The free allowance is 3 conversions a day, shared across files and public URLs, with no signup.
- Review the Markdown preview. Headings, lists, links, and simple tables are the parts to check first, along with any merged cells.
- Copy the Markdown or download the .md file.
Works with files exported from LibreOffice and OpenOffice
LibreOffice Writer and Apache OpenOffice Writer save text as OpenDocument. In LibreOffice, choose File → Save As, then ODF Text Document (.odt) or a Word document (.docx). In Apache OpenOffice Writer, choose File → Save As, then ODF Text Document (.odt).
| Application | Export |
|---|---|
| LibreOffice Writer | File → Save As → ODF Text Document (.odt), or a Word document (.docx). |
| Apache OpenOffice Writer | File → Save As → ODF Text Document (.odt). |
| LibreOffice Writer 26.2 and later | File → Save As → Markdown Document (.md). CommonMark export, with known gaps in code and punctuation. |
LibreOffice Writer 26.2 and later can also save Markdown Document (.md) with File → Save As. That export follows CommonMark. Current 26.2 builds still escape some code and punctuation incorrectly, and page layout stays in the original document. Older LibreOffice releases use the .odt or .docx save, and this converter reads those files.
What is kept: headings, lists, tables, images, links
Headings
Heading paragraphs in the OpenDocument file become Markdown headings. A level-1 heading arrives as a line starting with #, and the next level arrives as ##.
Lists
Numbered lists and bullets stay lists, including a nested bullet under its parent. List markers that were typed as text, such as a roman numeral at the start of a line, stay as that text.
Tables
A simple grid becomes a Markdown pipe table. Merged cells often come back as blank cells, so a header that spanned two columns needs a manual pass before you publish the table.
Images
A description stored on a picture can remain as text beside the sentence it sat in. The picture file stays in the original document. The Markdown result does not embed that image.
Links
External links stay as Markdown links with the visible label and the URL. Internal bookmarks can remain as anchors.
A verified ODT excerpt
An OpenDocument text fixture with a heading, styled text, lists, a merged table, a link, and a picture described as tiny red dot.
Verified fixture output | Engine: anydoc | Tested: 2026-10-21Preserves: headings, emphasis, lists, table cells, links, image descriptionsKnown limits: merged cells become blank cells. The picture file is omitted and its description remains as text.# Fixture Document Plain paragraph with **bold**, *italic*, and ~~struck~~ runs. ## Lists 1. First numbered - Bullet one ## Table | | | | | --- | --- | --- | | Wide head | | End | | Tall | B2 | C2 | ## Links and anchors External link to [example](https://example.com/page). ## Objects Inline image: tiny red dot done.
ODT vs DOCX: which to export for the cleanest Markdown
LibreOffice and OpenOffice write .odt as their native text format, so that save skips an extra translation inside the office suite. Choose .odt when the document is still in Writer. A .docx export from LibreOffice is accepted on this page when you already need a Word file for someone else.
Tested .odt and .docx samples both kept headings, lists, simple tables, and links. Emphasis and a few list markers differed between the two files. Merged cells and pictures need the same review either way. A document that started in Word belongs on DOCX to Markdown.