Markdown Live Preview
Write and preview Markdown in real-time with a live editor that converts your text to HTML instantly in your browser.
Any HTML tags in your Markdown input are escaped as text, and only Markdown syntax is converted to tags. Dangerous links like javascript: and unauthorized image URLs are automatically blocked, so scripts will not execute even if you paste Markdown written by someone else.
What is the Markdown Live Preview?
Need to see how your Markdown will look before you publish? This online Markdown previewer instantly renders your text into clean HTML as you type. It's perfect for drafting blog posts, technical documentation, or README files. The editor supports GitHub Flavored Markdown (GFM), including tables, task lists, and syntax-highlighted code blocks. "Scroll Sync" keeps your text and preview aligned for easy editing, while live stats track your progress. All processing happens entirely in your browser, so your data remains private and secure.
How to use
- Paste your text into the "Markdown Input" area, or drag and drop a `.md` file onto the dropzone.
- The rendered HTML appears in the "Preview" pane on the right in real-time.
- Toggle between the visual output and the generated code using the "๐ Preview" and "</> HTML Source" buttons.
- For long documents, check the "Scroll Sync" box to automatically align the input and preview panes as you scroll.
- View live statistics like "Characters", "Words", and "Reading Time" at the bottom of the editor.
- Click "Copy HTML" to copy the source code, or "Save HTML" to download a complete `.html` file with basic styling.
Markdown Live Preview guide
How this tool is used in real work, and what to watch out for.
Markdown Doesn't Have a Single Standard
This is why things that work on GitHub often break elsewhere. Markdown's original 2004 specification was ambiguous, leading to different "dialects" in each implementation. While CommonMark later brought some order, popular features like tables and checkboxes are part of the GitHub Flavored Markdown (GFM) extension and are not in the CommonMark standard.
| Platform | Tables & Checkboxes | Notes |
|---|---|---|
| GitHub / GitLab | Supported (GFM) | The de facto industry standard. Also allows some HTML insertion. |
| CommonMark Standard | No tables | Tables, strikethrough, and checkboxes are extensions. |
| Most Blogging Platforms | Markdown mode supported | You typically have to select the Markdown mode in the editor. |
| Many WYSIWYG Editors | Not supported | Their visual or "smart" editors do not accept raw Markdown. |
| Notion | Auto-converts on input | The syntax is converted to blocks, and the original Markdown characters are removed. |
| This Tool | Supports tables, checkboxes, strikethrough | Intentionally blocks HTML insertion. |
What This Tool Supports (and Doesn't)
At the top right, you can switch to the "</> HTML Source" tab to see the generated HTML instead of the rendered result. Clicking "Save HTML" downloads a complete, self-contained HTML file with basic styling included. This lets you send the document to someone who doesn't know Markdown, and they can just open it.
- Supported: Headings (H1-H6), bold, italic, strikethrough, inline code and code fences (with language specifiers), ordered/unordered lists with nested indentation, checkbox lists, blockquotes (nestable), tables (with `:--`, `--:`, `:--:` alignment), links, images, autolinks, horizontal rules, and backslash escapes.
- Not Supported: Footnotes, definition lists, math formulas (LaTeX), Mermaid diagrams, specifying image sizes, and automatic table of contents generation.
- Intentionally Blocked: HTML tag insertion. If you enter tags like `<br>` or `<details>`, they will be displayed as literal text, not rendered as tags.
Why Is Inserting HTML Dangerous?
Allowing some HTML on GitHub is one thing; a random renderer passing raw HTML through is another entirely. If a Markdown renderer outputs HTML tags as-is, it creates an XSS vulnerability. This is especially true for services that render user-submitted content for other users to see.
This tool escapes the entire body as text first, then selectively converts only the Markdown syntax back into tags. As a result, even if you paste Markdown containing scripts, they will not execute. It also performs an additional check on the scheme of link and image URLs.
- `javascript:` and `vbscript:` links are blocked and displayed as "(Blocked link)".
- For image URLs, only `http`, `https`, and raster `data:image` (png, jpeg, gif, webp, avif) schemes are allowed.
- `data:image/svg+xml` is blocked because SVG can contain embedded scripts.
- Bypass attempts that insert tabs or control characters into a URL are also caught by stripping those characters before validation.
What Are the Benefits of Writing in Markdown?
- It's text, so it's version-controllable. A `git diff` shows exactly which sentences changed, line by line. A Word file just shows up as a single binary blob that changed.
- It's not tied to a specific editor. If you change companies or move to a new wiki, your `.md` files remain usable. Most platforms like Notion and Confluence support Markdown export.
- You avoid the style pollution that comes with pasting content from Word or a webpage into a WYSIWYG editorโa common source of document corruption.
- Searching and replacing is easy. A single `grep` command can find and fix a specific term across all your documents.
- It works great with AI tools. Most LLMs respond in Markdown, so you can directly paste their output to check the results.
Common Pitfalls
| Symptom | Cause | Solution |
|---|---|---|
| Line breaks don't work | Markdown ignores single newlines. | Add two spaces at the end of the line, or separate paragraphs with a blank line. |
| My table isn't rendering as a table | The separator line (`|---|---|`) is missing after the header. | This separator line is mandatory. |
| `snake_case` becomes italic | `_` is interpreted as emphasis markup. | This tool does not treat underscores as emphasis if they are surrounded by word characters. |
| I want to write a literal asterisk | The `*` is being parsed as emphasis. | Escape it with a backslash. |
| A code block isn't closing | The number of opening backticks doesn't match the closing ones. | Make sure the counts match, or use tildes (`~~~`) instead. |
| List items are running together on one line | There's no space after the `-`. | A space after the list marker (`-`, `*`, `1.`) is required. |
Frequently asked questions
What Markdown syntax is supported?
It supports standard Markdown and GitHub Flavored Markdown (GFM) extensions like tables, task lists (`- [x]`), strikethrough, and fenced code blocks with language highlighting. See the "Markdown Syntax Cheat Sheet" below for details.
Is my content sent to a server?
No. All Markdown-to-HTML conversion happens entirely within your web browser. The text you enter and the files you open are never uploaded, ensuring your work remains completely private and secure.
What happens if I use HTML tags in my Markdown?
For your security, any HTML tags you enter are escaped and displayed as plain text. The tool also blocks dangerous links like `javascript:`, so you can safely paste and preview Markdown from any source without risk.
How can I use the converted HTML?
Click "Copy HTML" to paste the generated code into your blog or website editor. You can also use "Save HTML" to download a standalone `.html` file that includes basic styling for easy sharing or archiving.