---
url: https://findutils.com/guides/rtf-to-markdown
title: "RTF to Markdown: Rescue a WordPad File Without Word"
description: "Convert a legacy .rtf to Markdown in your browser. Learn what RTF actually is, what the conversion keeps, what it drops, and why a .doc is refused."
category: converters
content_type: guide
guide_type: subtopic
cluster: data-conversion
locale: en
read_time: 7
status: published
author: "olgunozoktas"
published_at: 2026-09-21T12:00:00Z
excerpt: "RTF is the format a file lands in when someone picked the option that works everywhere. Getting the text out usually means a desktop office suite — but RTF is plain text underneath, so it does not have to."
tag_ids: ["converters", "markdown", "document-management", "data-conversion", "productivity"]
tags: ["Converters", "Markdown", "Document Management", "Data Conversion", "Productivity"]
primary_keyword: "rtf to markdown"
secondary_keywords: ["convert rtf to markdown", "rtf to md", "wordpad to markdown", "open rtf without word", "rich text format to markdown"]
tool_tag: "rtf-to-markdown"
related_tool: "rtf-to-markdown"
related_tools: ["rtf-to-markdown", "docx-to-markdown", "odt-to-markdown", "html-to-markdown", "markdown-to-html"]
og_image: "/images/content/guides/rtf-to-markdown-cover-20260921.webp"
image_alt: "A yellowed blank sheet with a worn embossed border beside a crisp blank modern sheet."
updated_at: "2026-09-21T12:00:00Z"
---

RTF is the format a document lands in when someone chose "Save as" and picked the option that works everywhere. FindUtils [RTF to Markdown](/convert/rtf-to-markdown/) turns one back into editable Markdown in your browser, without LibreOffice, Word or an upload.

This guide explains what RTF actually is, what survives the conversion, what does not, and why the tool refuses an older `.doc`.

## RTF Is Text, Which Is Why This Works in a Tab

Open an `.rtf` in a code editor and you will see this:

```
{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0 Calibri;}}
\pard\b Quarterly Review\b0\par
The figures are \i provisional\i0 .\par}
```

That is the whole format: brace-delimited groups, control words like `\par` for a paragraph and `\b` for bold, and escapes for anything outside plain ASCII. There is no zip container, no binary blob, no XML. Reading it means walking that stream and tracking which formatting is currently in force — work a browser can do on its own.

This is the difference from a `.docx`, which is a zip of XML parts, and from a `.doc`, which is a binary container. Those need a real parser. RTF needs a tokeniser.

## What Comes Through

| In the RTF | In the Markdown |
|---|---|
| Paragraphs (`\par`) and line breaks (`\line`) | Blank-line-separated paragraphs and newlines |
| Bold, italic, bold-italic | `**bold**`, `*italic*`, `***both***` |
| Strikethrough | `~~text~~` |
| Bulleted lists | `- item` |
| Numbered lists | `1. item` |
| Nesting level | Indented list items |
| Hyperlink fields | `[text](url)` |
| Unicode escapes (`\u945`) | The actual character |
| Code-page escapes (`\'92`) | Decoded as Windows-1252 |
| Headings (`\outlinelevel`) | `#`, `##`, `###` |

Smart quotes, en and em dashes and accented characters survive, because those are exactly what the escapes encode. Characters that would otherwise change the structure of the Markdown — an asterisk in the original text, say — are escaped so they stay literal.

## What Does Not, and Why It Says So

Three things are dropped, and the page states them rather than leaving you to discover a half-converted document:

- **Images.** Pictures and embedded objects are skipped. No placeholder is left behind, because the bytes live inside the `.rtf` and there is nowhere to put them.
- **Tables.** The grid is not rebuilt. Cell text may arrive as ordinary paragraphs in reading order, but the rows and columns are gone.
- **Headers, footers and footnotes.** Running headers, page numbers and footnotes are skipped along with the font, colour and style tables.

Underline is dropped too. Markdown has no underline, and emitting a raw `<u>` tag would put HTML into a Markdown file.

That note on the page is fixed text rather than a per-file report, and for an honest reason: the converter does not count what it skipped, so it cannot truthfully tell you "3 images removed". If a document is mostly a table or mostly pictures, very little will come out — and the tool says it found no readable text rather than handing back an empty file.

## Headings Depend on What the File Recorded

Headings are produced when the document records an **outline level** for a paragraph. Word does this for real heading styles. Simpler editors often do not, so a line that merely looks like a heading — larger and bold — converts as bold text rather than a `##`.

This is the most common disappointment with any RTF conversion, and it is not a bug in the converter: the information about that line being a heading was never in the file. Adding the `#` yourself afterwards takes a second; guessing from font size would be wrong as often as right.

## Why a .doc Is Refused

A binary `.doc` is not RTF, despite being the same era. The converter checks that the file starts with `{\rtf` and refuses anything else, with a message telling you to save it as `.rtf` or `.docx` first.

Refusing is the right behaviour here. A binary file run through a text tokeniser produces pages of mojibake that look like a failed conversion rather than a wrong file, and people spend real time trying to fix the output instead of the input.

If you have a `.docx`, use [DOCX to Markdown](/convert/docx-to-markdown/). If you have an OpenDocument `.odt`, use [ODT to Markdown](/convert/odt-to-markdown/). RTF was the remaining classic rich-text format without a converter here.

## Converting

1. Drop the `.rtf` onto the page, or click to choose it.
2. If you have the markup itself rather than a file — copied out of a mail client, say — open **Paste RTF source instead** and paste it, starting with `{\rtf1`.
3. Read the Markdown on the right. The file strip reports how many blocks were produced.
4. Copy it, or download it as an `.md` named after the file you dropped.

## Where These Files Come From

RTF turns up in a few recognisable places: notes saved out of WordPad years ago, message bodies exported by older mail clients, form letters and templates from line-of-business systems, and anything where someone needed formatting but not a specific word processor. It is the lowest common denominator of rich text, which is why it outlived most of its contemporaries.

That is also why converting is usually worth it. A folder of `.rtf` procedure documents is unreadable in a repository and unsearchable in a wiki; the same text as Markdown can live beside the code it describes and be reviewed in a pull request.

## Limits

- Up to about 10 MB of RTF source. Because RTF stores images as hexadecimal text, a picture-heavy file is often far larger than its page count suggests.
- Code-page escapes are decoded as Windows-1252, which is what nearly every RTF file in circulation declares. A file declaring an unusual code page may mis-map a handful of high characters; `\u` escapes, which modern writers emit, are exact either way.
- One file at a time. There is no batch mode.

## The Same Conversion From Code

The parser on this page also backs the REST endpoint and the MCP tool, so a folder of files can be converted from a script with identical results. See the [API reference](/api/rtf-to-markdown/) for the request shape and the [MCP reference](/mcp/rtf-to-markdown/) for the connect command.

## Privacy

The file is read in your browser with the File API and converted in the tab. Nothing is uploaded and nothing is stored. The documents still sitting in RTF tend to be old contracts, letters, internal procedures and archived correspondence — the set least suited to being handed to an unknown website to find out what is inside them. You can confirm nothing leaves the tab in your browser's network panel.
