Document Converter

Convert documents between DOCX, ODT, RTF, HTML, Markdown, plain text and PDF in your browser, with a preview of what was read before you download.

The interactive tool loads here when JavaScript runs.

About this tool

What is the Document Converter?

The Document Converter reads a document in one format and writes it in another, entirely inside your browser. It accepts Word .docx, OpenDocument .odt, Rich Text .rtf, HTML, Markdown and plain text, and it writes .docx, PDF, HTML, Markdown, plain text and .rtf. You can also paste Markdown, HTML or text straight into the page.

Every conversion goes through one shared document model made of headings, paragraphs, inline bold, italic, underline, strikethrough, code and links, lists, tables, images, code blocks, quotes and rules. Reading builds that model and writing renders it, so a heading in an ODT file becomes a # heading in Markdown, a Heading 1 style in DOCX and an h1 in HTML.

What is not in the model does not survive: fonts, colours, page size, headers and footers, comments, tracked changes and complex layout. The preview shows both the output and exactly what was read from the input, so you can see what came through before you download.

  • Reads DOCX, ODT, RTF, HTML, Markdown and plain text
  • Writes DOCX, PDF, HTML, Markdown, plain text and RTF
  • Detects the input format from the file contents, not just the extension
  • Paste mode for Markdown, HTML and text
  • Preview of the output and of what was read before download
  • Runs entirely in the browser; files are not uploaded
Read the guide: DOCX, ODT, RTF, HTML and Markdown: What Survives a Conversion

How to use the Document Converter

  1. Upload a file, or switch to Paste text and choose whether the pasted text is Markdown, HTML or plain text.
  2. For plain text with hard line breaks, such as an email or an old README, switch on Join hard-wrapped lines so each paragraph becomes one block.
  3. Choose the output format. For PDF, set the page size, margins, font and page numbers.
  4. Click Convert. Check the Output tab for the result and the What was read tab for the content the converter understood.
  5. Download the file, or copy text formats (HTML, Markdown, text, RTF) straight to the clipboard.

Worked example

Word document to Markdown for a wiki

Input

A .docx with a Heading 1, a paragraph containing a bold word and a link, a bulleted list and a two-column table.

Output

# Release plan

Ship the **beta** after [review](https://example.com).

- Freeze scope
- Tag build

| Owner | Date |
| --- | --- |
| Ana | 3 May |

Styles map to Markdown syntax. The first table row becomes the header row, because GFM tables require one.

Background and insight

DOCX and ODT look similar from the outside because both are ZIP archives of XML. DOCX follows Office Open XML (ECMA-376) and keeps its text in word/document.xml; ODT follows the OASIS OpenDocument standard (ISO/IEC 26300) and keeps it in content.xml. ODT stores formatting in named and automatic styles rather than on the text, so this converter resolves each span through its style chain to work out whether it is bold or italic.

RTF is older and simpler: a text file of control words such as \b for bold and \par for a paragraph end, introduced by Microsoft in 1987 and last revised as version 1.9.1 in 2008. Almost every word processor can still open it, which makes it a useful lowest common denominator. The reader here handles paragraphs, character formatting, Unicode escapes, hyperlinks, list text, simple tables and PNG or JPEG pictures, and skips font tables, colours and headers.

Markdown, created by John Gruber in 2004 and later specified as CommonMark, has no notion of fonts or page size at all. Converting to it keeps structure and drops presentation, which is often exactly what you want when moving text from Word into a wiki, a README or a static site generator. Tables use the GitHub Flavored Markdown pipe syntax.

Common use cases

  • Moving Word content into docs-as-code

    Turn a .docx specification into Markdown for a Git repository, MkDocs or Docusaurus site without retyping headings and tables.

  • Opening files from other word processors

    Convert an ODT from LibreOffice or an RTF from an old system into a .docx that colleagues can edit in Word.

  • Publishing to the web

    Produce clean, standalone HTML from a document, with no Word-specific markup or inline styling to clean up afterwards.

  • Extracting plain text

    Strip formatting to get text for a search index, a translation tool, a word count or an AI prompt.

Tips and limitations

  • PDF input is not handled here because PDF stores positioned glyphs rather than paragraphs. Use the PDF to Word converter for that.
  • Images linked by URL or relative path in HTML and Markdown are left out, so the converter never fetches anything from the network. Embedded images (data URLs) are kept.
  • Merged table cells are split back into separate cells, and nested tables are flattened into text.
  • Markdown output embeds images as data URLs, which keeps the file self-contained but can make it large. Some renderers, including GitHub, do not display data URL images.
  • RTF files written with a non-Western code page (for example Cyrillic Windows-1251 without Unicode escapes) may show wrong accented characters, because the reader assumes Windows-1252 for \'hh escapes.
  • PDF output uses the standard PDF fonts, so characters outside the Western European set are replaced with "?" and counted in the warnings.

Frequently asked questions

Which document formats can I convert between?

Inputs: DOCX, ODT, RTF, HTML, Markdown and TXT. Outputs: DOCX, PDF, HTML, Markdown, TXT and RTF. Any input can go to any output.

Can I convert a PDF to Word or Markdown here?

Not in this tool. A PDF stores characters at positions on a page, so turning it back into paragraphs is a separate problem. Use the PDF to Word converter, then bring the DOCX here if you need another format.

What formatting is lost when converting a document?

Fonts, font sizes, colours, highlighting, page size, margins, headers, footers, footnote placement, comments, tracked changes, text boxes, columns and merged table cells. Headings, emphasis, links, lists, tables and images are kept.

Does converting DOCX to Markdown keep tables?

Yes, as GitHub Flavored Markdown pipe tables. The first row becomes the header row. Line breaks inside a cell are written as <br>, because a Markdown table row must stay on one line.

Why is the old .doc format not supported?

A .doc file is a binary compound document from Word 97 to 2003, with a format that needs a full parser of its own. This tool reads the XML-based .docx. Save the file as .docx in Word, LibreOffice or Google Docs first.

Are my documents sent anywhere for conversion?

No. Reading, converting and previewing all happen in this browser tab. Images referenced by URL are deliberately not fetched, so the page makes no network requests on behalf of your document.

How does the converter know which heading level to use?

From the source structure: Word heading styles, ODT outline levels, HTML h1 to h6, Markdown # marks and RTF outline levels. Text that only looks like a heading because it is large and bold stays a normal paragraph.

Is there an in-depth guide to the Document Converter?

Yes. “DOCX, ODT, RTF, HTML and Markdown: What Survives a Conversion” covers the background, how it works, common pitfalls and worked examples. Read the full guide.