Markdown Preview renders Markdown text as HTML in real time, side by side with the source. It supports GitHub Flavored Markdown (GFM) including tables, task lists, fenced code blocks with syntax highlighting, strikethrough, and autolinks. Paste or type Markdown on the left and see the rendered output on the right instantly.
Markdown is a lightweight markup language designed to be readable as plain text and convertible to HTML. It was created by John Gruber in 2004 and is now the de facto standard for README files, documentation, blog posts, and notes. GitHub, GitLab, npm, and most documentation platforms render Markdown automatically.
GitHub Flavored Markdown (GFM) extends CommonMark with tables (| syntax), task lists (- [ ] and - [x]), fenced code blocks (triple backticks with language identifier for syntax highlighting), strikethrough (~~text~~), and auto-linking of URLs and @mentions. This tool previews GFM as GitHub renders it โ what you see here is what you get on GitHub README files.
Table syntax
Result: | Name | Age | City |\n|------|-----|------|\n| Alice | 30 | NYC | โ renders as a formatted HTML table with borders
Fenced code block with syntax highlighting
Result: ```python\nfor i in range(10):\n print(i)\n``` โ rendered with Python syntax coloring
Task list
Result: - [x] Done\n- [ ] To do โ renders as checked/unchecked checkboxes
What is the difference between Markdown and GFM?
CommonMark is the standardized Markdown specification. GitHub Flavored Markdown (GFM) extends CommonMark with tables, task lists, strikethrough, and autolinks. Most developer tools (GitHub, GitLab, VS Code) support GFM. This preview tool renders GFM.
How do I create a table in Markdown?
Use pipes and hyphens: | Header 1 | Header 2 | on the first line, |----------|----------| on the second (the separator row), then data rows. Alignment is set with colons: |:---------|----------:| for left and right alignment.
Can I include raw HTML in Markdown?
Yes โ in most Markdown parsers, inline HTML is passed through directly. This lets you use HTML elements that have no Markdown equivalent (e.g., , for collapsible sections, colored text). GitHub strips some HTML attributes for security.
What is the difference between * and ** in Markdown?
*text* or _text_ renders as italic. **text** or __text__ renders as bold. ***text*** or ___text___ renders as bold italic. Backtick `code` renders as inline code.
How do I escape Markdown characters?
Prefix the character with a backslash: \* renders a literal asterisk, \# renders a literal hash. Works for: \ ` * _ { } [ ] ( ) # + - . !