Markdown Editor with Live Preview

Write Markdown on the left and see it rendered instantly. Autosaves in your browser.

Markdown
Preview
0 words Autosaved in this browser · Ctrl/⌘+B bold, I italic, K link

Overview

This Markdown editor renders GitHub Flavored Markdown as you type, so you can draft a README, a pull request description, documentation or notes and see exactly how headings, tables, code blocks and task lists will look before you publish them. The preview scrolls in step with the editor, and your text is saved in your browser so it survives a refresh or an accidental tab close.

When you are done, save the document as a .md file, download a standalone HTML page, copy the rendered HTML into a CMS or email, or use Export PDF to print a clean copy of the preview. Rendering happens locally and the output is sanitized, so pasted content cannot run scripts in the page.

How to use the editor

  1. Type or paste Markdown into the left pane, or click Open to load a .md file from your computer.
  2. Use the toolbar or shortcuts to format text: Ctrl/⌘+B for bold, I for italic and K for a link. Press Enter at the end of a list item to continue the list, and Tab to indent.
  3. Check the result in the preview. Switch the right pane to HTML to see the generated markup.
  4. Export with Save .md, Save .html, Copy HTML or Export PDF. In the print dialog, choose "Save as PDF" as the destination.

On a phone, use the Write and Preview tabs to switch between the editor and the rendered document.

Markdown cheat sheet

These are the elements you will use most often. Everything in this table renders in the preview above, so you can paste any line into the editor to try it.

ElementMarkdownNotes
Heading# H1 … ###### H6Put a space after the #. Use one H1 per document.
Bold**bold**__bold__ also works.
Italic*italic*_italic_ also works.
Strikethrough~~text~~GitHub Flavored Markdown.
Link[title](https://example.com)Add a tooltip with [t](url "hover text").
Image![alt text](image.png)Alt text is read by screen readers.
Inline code`code`Use double backticks if the code contains a backtick.
Code block```js … ```The language name after the fence enables highlighting on GitHub.
Blockquote> quoted textNest with >>.
Bulleted list- itemIndent two or four spaces to nest.
Numbered list1. itemThe first number sets the start; the rest can all be 1.
Task list- [ ] todo / - [x] doneGitHub Flavored Markdown.
Table| a | b | + | --- | --- |Align with :---, :---: or ---:.
Horizontal rule---Needs a blank line above it, or it turns the previous line into a heading.
Line breakEnd a line with two spaces or \A single newline does not create a break.
Escape\*not italic\*Backslash escapes any Markdown character.

GitHub Flavored Markdown

Markdown was created by John Gruber in 2004 as a plain-text format that reads naturally and converts cleanly to HTML. Because the original description left many edge cases open, CommonMark later defined a precise specification, and GitHub extended it into GitHub Flavored Markdown (GFM).

This editor follows GFM, which adds the features most developers rely on:

  • Tables with optional column alignment.
  • Task lists using - [ ] and - [x].
  • Strikethrough with ~~double tildes~~.
  • Autolinks: bare URLs such as https://example.com become links.
  • Fenced code blocks with a language name for syntax highlighting.

If your Markdown renders correctly here, it will look the same on GitHub, GitLab and most static site generators. Platform-specific extras such as GitHub alerts, Mermaid diagrams or math blocks are shown as plain text or code.

Exporting to HTML and PDF

Copy HTML puts the rendered markup on your clipboard, ready to paste into a CMS, a newsletter tool or a template. Save .html downloads a complete web page with simple, readable styles that you can open in any browser or attach to an email.

Export PDF opens your browser's print dialog with only the preview visible: the editor, toolbar and site navigation are hidden, and colors switch to a print-friendly light theme even if you use dark mode. Choose "Save as PDF" to produce the file. Long tables and code blocks wrap or break across pages as they would in any printed document.

Common Markdown mistakes

  • Missing blank lines. A list or code fence that starts directly under a paragraph may be swallowed into it. Leave an empty line before lists, tables, quotes and fenced code.
  • No space after #. #Heading renders as plain text in most parsers; write # Heading.
  • --- under a line of text. Without a blank line in between, the line above becomes a level-2 heading instead of being followed by a rule.
  • Table header without a separator row. GFM tables need the | --- | row directly under the header, with the same number of columns.
  • Unclosed code fences. If everything after a certain point renders as code, look for a ``` that was never closed.
  • Underscores inside words. snake_case_name is safe in GFM, but some older parsers italicize it. Wrap identifiers in backticks.

Frequently Asked Questions

Is my document stored on a server?

No. The editor converts Markdown to HTML inside your browser, and autosave uses your browser's local storage on this device only. Clearing the editor or your browser's site data removes it.

Which Markdown flavor does the preview use?

GitHub Flavored Markdown, which is CommonMark plus tables, task lists, strikethrough and autolinks. This is the same flavor used for README files and issues on GitHub.

How do I convert Markdown to PDF?

Click Export PDF, then pick "Save as PDF" as the printer in the dialog that opens. Only the rendered preview is printed, in a light theme suited to paper.

Can I use raw HTML inside Markdown?

Yes, common HTML such as <details>, <kbd> or <sup> is rendered. Scripts, event handlers and other unsafe markup are removed by the sanitizer, so pasted content cannot run code in the page.

Why does a single line break not show up in the preview?

In Markdown a single newline continues the same paragraph. End the line with two spaces or a backslash to force a line break, or leave a blank line to start a new paragraph.