Markdown Editor

Write Markdown on the left and see a live preview on the right. Supports GitHub-flavored Markdown, tables, task lists, and fenced code blocks with syntax highlighting.

Markdown
Preview


How to Use the Markdown Editor

1

Type your Markdown in the left panel

Type your Markdown in the left panel.

2

See the live preview on the right

See the live preview on the right.

3

Copy the rendered HTML or raw Markdown

Copy the rendered HTML or raw Markdown.

Online Markdown Editor — Write and Preview Markdown with Live HTML Output

Markdown does something deceptively simple: it turns plain text into formatted content using a handful of punctuation conventions. A hash before a line makes it a heading. Two asterisks around a word make it bold. A hyphen at the start of a line makes it a list item. The result is a format that reads naturally as raw text in any editor but converts mechanically to clean HTML. Written by John Gruber and Aaron Swartz in 2004, Markdown was designed with exactly that dual nature in mind — human-readable in source form, machine-convertible to presentable output. Twenty years later, it has become the dominant format for technical writing, documentation, and content that lives alongside code.

This editor gives you a live split-pane interface: write on the left, see formatted output on the right. It supports GitHub-Flavored Markdown (GFM) — the extended specification that adds tables, task lists, strikethrough, fenced code blocks with syntax highlighting, and autolinked URLs. Your draft auto-saves to browser localStorage. Nothing is ever sent to any server.

Core Markdown Syntax

Headings: Hash symbols create heading levels: # H1 through ###### H6. The number of hashes determines the level. H1 is typically the page title; H2 through H4 are section and sub-section headings. Most Markdown parsers also support setext-style headings using underlines (= for H1, - for H2), though ATX-style (hashes) is more common in practice.

Text formatting: Bold wraps text in double asterisks: **bold**. Italic uses single: *italic*. Strikethrough (GFM) uses double tildes: ~~deleted~~. Bold italic combines both: ***bold italic***. Inline code uses single backticks: `variable`.

Links and images: Inline links use [text](URL). Reference-style links separate the URL for cleaner source: [text][ref] with [ref]: URL elsewhere. Images add an exclamation prefix: ![alt text](image-url).

Lists: Unordered lists use -, *, or + at the line start. Ordered lists use 1., 2., etc. Nested lists are created by indentation. GFM task lists use - [ ] (unchecked) and - [x] (checked).

Code blocks: Fenced code blocks use triple backticks with an optional language identifier for syntax highlighting: ```javascript. The language tells the renderer which highlighting rules to apply.

Blockquotes: Lines starting with > become blockquotes, rendered with a left border and indented style. Tables (GFM): Pipe characters separate columns, hyphens define the header separator row, and colons in the separator control alignment: |:---| left, |:---:| center, |---:| right. Horizontal rules: Three or more hyphens, asterisks, or underscores on their own line.

Where Markdown Is Used in Practice

GitHub, GitLab, Bitbucket: README files, wiki pages, issue descriptions, pull request comments — all support Markdown. Writing clearly formatted issues and PR descriptions with code blocks, lists, and headings is a professional expectation in most development contexts.

Documentation platforms: MkDocs, Docusaurus, ReadTheDocs, and VitePress build entire documentation sites from Markdown files. Teams write docs in plain text alongside code, in the same repository, with the same version control workflow.

Static site generators: Jekyll, Hugo, Eleventy, Gatsby, and Astro use Markdown as their primary content format. Blog posts and pages are written as .md files and converted to HTML at build time, keeping content separate from presentation.

Note-taking: Obsidian, Notion, Bear, Typora, and many other tools store notes as Markdown. Notes written in Markdown are portable — open the .md file in any text editor and they are fully readable without any application.

Standard Markdown vs. GitHub-Flavored Markdown

Gruber's original 2004 spec defined the core syntax — headings, lists, code, links, images, blockquotes, and text formatting. It was deliberately minimal, but left many edge cases underspecified, leading to inconsistent behavior across parsers.

GitHub-Flavored Markdown (GFM), specified in 2017 based on the CommonMark standard, resolved many ambiguities and added features: fenced code blocks, tables, task lists, strikethrough, autolinked URLs, and disallowed raw HTML for security. GFM has effectively become the dominant dialect — most modern Markdown tools support it or a close variant. This editor uses GFM-compatible parsing, so your output will render consistently with what GitHub and most platforms display.

Frequently Asked Questions About Markdown

Yes. Static site generators like Hugo, Jekyll, Eleventy, and Gatsby take Markdown files as content input and generate full HTML sites. Headless CMS platforms like Contentful, Sanity, and Strapi support Markdown or MDX fields. Ghost and WordPress (with plugins) render Markdown posts. Write your content here, then copy the Markdown or exported HTML into your CMS.
The preview HTML is sanitized with DOMPurify, which removes dangerous tags and attributes like <script>, onclick, and javascript: URLs that could cause XSS. For personal documents and trusted content, this is safe. For user-generated content on a production site, always apply server-side sanitization as well — never rely solely on client-side processing for security.
Use a fenced code block with the language identifier after the opening backticks: ```javascript. The editor uses Prism with auto-loading language support, so JavaScript, Python, PHP, CSS, SQL, Bash, JSON, YAML, and many more languages are highlighted automatically based on the identifier you specify.
Auto-save stores your draft in your browser's localStorage — it stays on your device and is never sent to any server. Only you can access it, and only from the same browser on the same device. The Share button encodes your document in the URL fragment (after the #), which also never reaches the server. Use Reset or clear site data in your browser settings to remove a saved draft.
Standard Markdown covers basics: headings, bold, italic, links, images, lists, blockquotes, code. GFM extends this with tables, task lists, strikethrough, fenced code blocks with language identifiers, and autolinked URLs. This editor supports GFM features, so your output will closely match what GitHub renders, though minor edge-case differences may exist.
Share links encode your entire document in the URL fragment — your content is never stored on any server, so the URL must contain everything. Large documents produce very long URLs that may hit browser length limits. For long documents, use Save to download a .md file and share that file directly via email, cloud storage, or a repository.