How it works
- 1
Paste your plain text
Paste anything — meeting notes, a Word document draft, an email, a blog outline, or README content. No HTML needed.
- 2
Structure is detected automatically
ALL CAPS lines become headings. Setext underlines (===, ---) are preserved. Bullets (•, -, *) and numbered lists are normalized. Indented code becomes fenced blocks.
- 3
Copy clean Markdown
The output updates live. Toggle frontmatter or a Table of Contents, then copy to your editor, static site generator, or docs platform.
Plain Text Input
Markdown Output
Markdown will appear here as you type…🛡️ Verify zero uploads — open DevTools → Network tab
Open your browser's DevTools (F12), go to the Network tab, and use this tool. You will see zero outbound requests — all processing runs inside your browser sandbox via WebAssembly or pure JavaScript. Nothing you paste or upload is ever sent anywhere.
Use cases
Meeting notes → docs
Convert pasted meeting notes with ALL CAPS sections and bullet action items into clean Markdown for Notion, Confluence, or a static wiki.
README from an outline
Write a rough README outline in plain text with setext underlines, then paste here to get a properly structured Markdown README instantly.
Word / Google Docs → Markdown
Copy plain text from Word or Google Docs (not HTML), paste it here, and get Markdown that preserves headings, bullets, and numbered lists.
Common mistakes
2 pitfalls to avoid
▾
Common mistakes
2 pitfalls to avoid
1Pasting HTML instead of plain text
✗ Wrong: Copy from a webpage using Ctrl+C and paste — this often includes hidden HTML markup that won't be detected correctly.
✓ Fix: Use Ctrl+Shift+V (paste as plain text) or use the HTML → Markdown tool instead if you specifically have HTML source.
2Underline detection failing
✗ Wrong: Writing the underline line with fewer than 3 dashes: `My Heading --`
✓ Fix: Use at least 3 characters: `My Heading ---`. The tool requires 3+ dashes or equals signs.
Frequently Asked Questions
What heading patterns does this detect?
Three patterns: (1) Setext — a line followed by === (H1) or --- (H2); (2) ALL CAPS lines of ≤60 characters are converted to H2 with title-case; (3) Existing ATX headings (#, ##…) are passed through unchanged. Enable 'Auto-detect headings' to also convert short standalone lines surrounded by blank lines.
How is this different from the HTML → Markdown tool?
The HTML tool converts HTML tags (from browser copy-paste or exported HTML files). This tool converts plain text with no HTML — useful for content pasted from Word, email clients, terminal output, or hand-typed notes.
What is the frontmatter option?
When enabled, a YAML frontmatter block is prepended with the document title (extracted from the first H1) and today's date. This is the format used by Hugo, Jekyll, Astro, and most Markdown-based static site generators.
How does indented code detection work?
Lines indented with 4 or more spaces are collected into a fenced code block (``` ... ```). Blank lines between indented lines are included if more indented code follows; otherwise they terminate the block.
Does this modify my original text?
Nothing is sent anywhere — the conversion runs entirely in your browser. The original input is never modified; only the output panel shows the converted Markdown.
Want unlimited access + saved history?
Pro is $6/month · 30-day money-back guarantee.
Embed or share this toollink · markdown · html · iframe
https://aarunyaapps.com/text-to-markdown