Markdown Converter
Convert Markdown to plain text, formatted text, or safe HTML locally, and print it as a PDF.
Loading tool…
Runs locally in your browser. Your input is not uploaded or stored. You can verify this in your browser’s network panel.
Processing limits
- Accepted formats: .md, .markdown, .txt
- Maximum file size: 2 MiB
- Maximum input length: 200,000 characters
- Maximum files: 1
What does this tool solve?
Convert Markdown into readable plain text, copy it with formatting into a document or email, or download safe HTML. Print the formatted document to save a PDF using your browser. Read the document conversion guide to choose an output format, or use Text Diff to review changes before sharing.
Continue with Text Diff Checker, HTML Entity Encoder / Decoder · Convert Markdown for documents and email
What examples should you start with?
Preserve literal symbols and task status
# Notes
**Keep** `user_name` and 2 * 3.
- [x] Draft
- [ ] ReviewNotes
Keep user_name and 2 * 3.
- [x] Draft
- [ ] ReviewConvert a table and retain link URLs
| Name | Status |
| --- | --- |
| Spec | Ready |
[Docs](https://example.com/docs)Name Status
Spec Ready
Docs (https://example.com/docs)Preserve code without the fence or language label
```js
const a_b = 2 * 3;
// Keep indentation
```const a_b = 2 * 3;
// Keep indentationHow does it work?
A CommonMark parser and GitHub Flavored Markdown extensions create one syntax tree. Plain text is rendered from its nodes, preserving code, literal characters, list structure, task states, tab-separated table rows, and referenced footnotes.
A separate HTML tree is sanitized and given fixed formatting styles. The same safe body is used for the preview, rich clipboard, HTML export, and printing. Raw HTML is displayed as text and images become their alternative text, so conversion does not request external images.
Only one UTF-8 .md, .markdown, or .txt file is read, up to 2 MiB and 200,000 input characters. File contents and pasted text stay in browser memory; clear the page to remove the current input and result.
Optional cleanup removes only U+200B, U+2060, U+FEFF, and U+00AD from the conversion input, counts each removal, and keeps the original editor text unchanged. It is disabled by default.
What are the edge cases and limits?
- Markdown syntax removes formatting markers, not arbitrary underscores, asterisks, or code characters. Links keep their URLs by default; disable that option for label-only plain text.
- Raw HTML tags remain visible as literal text. Images are represented only by their alt text, and images without alt text produce no visible content. Unsafe URL schemes do not create executable HTML links.
- Math, Mermaid, MDX, and frontmatter have no special renderer. CommonMark soft line breaks use normal HTML layout; hard line breaks remain explicit. Extremely deep trees beyond 128 node levels are rejected.
- Rich text uses HTML and plain-text clipboard formats, not an RTF or DOCX file. Paste appearance depends on the receiving application. Unsupported HTML clipboard writes fall back to plain text with an explicit message.
- Print / Save as PDF opens the browser print dialog. Review Chinese fonts, long tables, and page breaks there. Pagination, available printers, and PDF saving depend on your browser and operating system.
- Removing invisible characters may change intentional spacing or line wrapping. ZWJ, ZWNJ, emoji variation selectors, and bidirectional controls are preserved. Cleanup does not detect AI provenance or repair garbled encoding.
Related tools
- Text Diff CheckerCompare two texts and highlight every added and removed line.
- HTML Entity Encoder / DecoderEncode and decode HTML entities for safe markup display.
- MB to GB / Byte ConverterConvert MB to GB and bytes to KB, MB, or GB using decimal SI and binary IEC units.