Markdown Editor with Live Preview
Write Markdown on one side and watch the formatted result appear on the other. Format with a toolbar or shortcuts, then copy, download or print. Your text stays in your browser
The rendered preview appears here as you type
This file is larger than 2 MB, more than the editor can handle smoothly. Split it into smaller files.
Counted instantly in your browser, with reading time at 200 words per minute. Nothing is saved, so download your file before closing the tab.
How to use this tool
- Choose a layout: Edit, Split (source and preview side by side) or Preview. Focus mode hides distractions.
- Type or paste Markdown, or use the toolbar and shortcuts (Ctrl+B for bold, Ctrl+I for italic, Ctrl+K for a link).
- Turn on Line breaks as
<br>if you want every line break kept, as in GitHub comments. - Copy, download or print the result. Your text stays in your browser.
Worked example
Typing a line that starts with ## makes a level-2 heading, and - [ ] or - [x] starts a task list. A table needs a header row, a separator row of dashes, and then data rows. Reading time uses 200 words per minute and rounds up, so a 600-word text reads in 3 minutes and a 601-word text in 4. Raw HTML is never inserted: typing <b>hi</b> shows the tags as plain text, and links are limited to http, https, mailto and tel. The renderer covers everyday CommonMark and GitHub table, task-list and strikethrough syntax, but not footnotes, math or diagrams, so check those elsewhere.
Methodology
Markdown was created by John Gruber in 2004 as a plain-text shorthand for HTML. This editor implements the constructs used in everyday writing from the CommonMark specification, plus the GitHub Flavored Markdown (GFM) extensions for tables, task lists, strikethrough and autolinks. It is a purpose-built, dependency-free renderer rather than a full copy of either specification, so rarely used corners such as footnotes, math and Mermaid diagrams are not rendered.
What you type, what the preview shows
Real outputs of this editor's own renderer for a few everyday inputs.
| You type | Preview shows | Note |
|---|---|---|
| ## Title | Level-2 heading | h2 |
| - [x] done | Checked checkbox | Boxes are read-only in the preview |
| ~~old~~ | Strikethrough | del |
| line 1⏎line 2 | One paragraph, no break | Add two trailing spaces, or tick the line-break option |
| <b>hi</b> | Literal text <b>hi</b> | Raw HTML is escaped, never run |
| [x](javascript:…) | Plain text "x", no link | Only http, https, mailto and tel are linked |
| [x](https://…) | Link opening in a new tab | Marked nofollow |
| Term[^1] / $x^2$ | Shown unchanged | Footnotes and math are not rendered |
Read the Note column as the editor's limits: if a row surprises you, the cause is usually one of them, not a typo. Check anything the table lists as unrendered in the tool where your text will finally be published.
Frequently asked questions
Is the text I write here uploaded or saved anywhere? ▼
The text is not sent to a server and is not stored, not even in local storage (the page only remembers your theme and cookie choice). Parsing and rendering happen in your browser, so a refresh or a closed tab erases your text; use “Download .md” to keep it. The page asks for confirmation before you leave with unsaved text. One exception: if your Markdown points to an image by web address, your browser requests that image from its host to show it, and that host can see your IP address. Plain text and base64 images make no requests.
Why is my raw HTML, like a div or a script tag, not rendered in the preview? ▼
For safety, HTML typed into the editor is shown as literal text instead of being executed. GitHub also filters raw HTML heavily, so relying on it is fragile. Use Markdown syntax for formatting, or copy the generated HTML and add custom markup in your own site.
Why does pressing Enter once not start a new line in the preview? ▼
In Markdown, a single line break inside a paragraph is treated as a space, so consecutive lines merge into one paragraph. Leave a blank line to start a new paragraph, end a line with two spaces or a backslash to force a break, or tick the line-break option above the editor to keep every line break.
How do I paste my Markdown into Word, Google Docs or an email with formatting? ▼
Use the “Formatted text” button under “Copy”, then paste into your document. Headings, bold text, lists and tables arrive as real formatting instead of Markdown symbols. Use the HTML button instead when you need the raw markup for a website or a CMS.
How do I save the result as a PDF? ▼
Click “Print / PDF” and choose “Save as PDF” as the destination in your browser print dialog. Only the rendered preview is printed, without the toolbar or the rest of the page, in black on white even when dark mode is on.