Markdown editor with live preview. GitHub Flavored Markdown (GFM): tables, task lists, fenced code, syntax highlighting. Export HTML, PDF. Cheatsheet.
Use this free online Markdown Writer directly in your browser. No signup required, no data leaves your device. Part of Utilier — a collection of 133+ developer utilities.
What is Markdown Editor & Syntax Guide (GFM, Live Preview)?
Markdown editor provides live editing environment for writing Markdown (.md files) with instant preview. Write Markdown syntax (# heading, **bold**, [link](url)) in editor, see formatted HTML output in preview pane. Supports GitHub Flavored Markdown (GFM): tables (| col |), task lists (- [ ] task), fenced code blocks (```language), strikethrough (~~text~~), autolinks (URLs). Features: split-pane editor (edit + preview side-by-side), syntax highlighting (keywords, links, code), auto-scroll sync (preview follows cursor), cheatsheet (quick reference), export (HTML, PDF, Markdown download), dark mode, autosave (local storage). Tool same as markdown-preview.json but this focuses more on editing workflow.
Live preview: Type Markdown → see HTML instantly. No save/reload. Split-pane: editor (left) + preview (right). Auto-scroll: cursor in editor → preview scrolls to match. Real-time rendering.
Export options: Download as: .md (Markdown file), .html (styled HTML), .pdf (print-friendly). Markdown for git, HTML for website, PDF for sharing.
Why use markdown editor?
Writing Markdown in plain text editor = no preview (syntax errors unnoticed). This tool shows exactly how Markdown will render.
Instant feedback: See formatting immediately. Type ## → preview shows <h2>. Catch errors: broken link ([text]()), malformed table (| col). Faster than edit → save → preview → repeat.
GitHub README preview: Write README.md, see how it looks on GitHub. Test tables, code blocks, task lists. Avoid pushing broken Markdown to GitHub (embarrassing typos).
Learn Markdown interactively: Try syntax, see result. Experiment: **bold** vs *italic*, # vs ##, - vs 1.. Built-in cheatsheet (examples). Faster than reading docs.
Syntax highlighting: Editor shows Markdown structure (headings blue, links green, code orange). Easier to scan, find headings, fix errors. Plain text editor = all one color (hard to read).
Export flexibility: Write once, export multiple formats: Markdown (version control), HTML (blog post), PDF (document). No manual conversion. Markdown = source of truth.
Autosave & offline: Autosaves to browser local storage (no lost work). Works offline (no internet required). Private (no server upload). Always available.
When to use markdown editor
Use whenever you write or edit Markdown files.
Writing GitHub README.md (preview before pushing).
Writing tutorials with code examples (fenced blocks, syntax highlighting).
How to use markdown editor
Write Markdown in editor, see live preview, export if needed.
Start typing Markdown: Type in left pane: # Heading, **bold**, [link](url), , ```code```. Or load existing .md file (open from file picker).
See live preview: Right pane shows rendered HTML. Updates as you type (no save needed). Auto-scroll: cursor in editor → preview scrolls to match section.
Use cheatsheet: Click Help → shows Markdown syntax reference (headings, bold, links, images, lists, tables, code). Click example to insert in editor.
Add code blocks: Fenced blocks: ```javascript\ncode\n```. Specify language for syntax highlighting (javascript, python, sql). Inline code: `code` (backticks).
Export file: Download → .md (Markdown file for git), .html (styled with CSS), .pdf (print-friendly). Or copy Markdown to clipboard.
Toggle dark mode (optional): Dark mode for editor and preview (reduces eye strain). Syntax highlighting adapts to theme. Saves preference to local storage.
Live preview: Real-time rendering. Type Markdown → HTML updates instantly. No save/reload. Auto-scroll sync (editor cursor position → preview scroll position).
Syntax highlighting: Editor: highlights headings, bold, italic, links, code. Preview: syntax highlighting for code blocks (100+ languages via Prism.js/highlight.js).
Technical documentation: Write docs: ## API Endpoints, ### GET /users, ```json\n{"id": 1}\n```. Export HTML for Docusaurus, VuePress. Or Markdown for version control.
Blog post: Write post: # Title, ## Sections, , [link](url). Export HTML for Jekyll/Hugo. Or Markdown for Medium, Dev.to (support Markdown).
Note-taking: Structured notes: ## Meeting Notes, - Action items, ```sql\nSELECT * FROM users\n```. Export PDF for sharing, Markdown for Obsidian, Notion.
Tutorial with code: Write tutorial: # How to Build API, ## Step 1, ```javascript\nconst express = require('express');\n```. Syntax highlighting for code examples.
Missing blank line before lists, code blocks (doesn't render)
Why it happens: Markdown requires blank line before block elements. text\n- list (no blank line) → list doesn't render (treated as paragraph). Common when copying Markdown.
How to avoid it: Add blank line before lists, code, blockquotes. Example: Paragraph\n\n- List. Or use fenced code blocks (``` doesn't require blank line).
Using wrong number of backticks for code (` vs ``` vs ````)
Why it happens: Inline code: `code`. Block: ```code```. If code contains ```, use ```` to escape. Wrong count = broken rendering.
How to avoid it: Inline: `code`. Block: ```\ncode\n```. Code with ```: use ```` (one more than code). Preview shows errors immediately.
Why it happens: Tables require: | Header |\n|--------|\n| Data |. Missing pipe (|), wrong separator (===), no header = table doesn't render. Preview shows as plain text.
How to avoid it: Use tool to create table (preview shows formatting). Separator: at least 3 dashes (---). Pipes at start/end optional.
Forgetting language in fenced code blocks (no syntax highlighting)
Why it happens: ```\ncode\n``` (no language) = no syntax highlighting (renders as plain text). ```javascript\ncode\n``` = syntax highlighting (keywords, strings colored).
How to avoid it: Specify language: ```javascript, ```python, ```sql. Preview shows syntax highlighting. If unknown, use ```text or omit.
Not checking preview before publishing (broken formatting)
Why it happens: Markdown errors (missing ], unclosed `, malformed table) not visible in editor. Preview shows exactly how it renders. Errors caught before publishing.
How to avoid it: Always check preview before git push, publishing. Look for: broken links, malformed tables, incorrect headings. Fix in editor, verify in preview.
Frequently asked questions
What is the difference between this and markdown-preview tool?
Same tool, different name/focus. markdown-preview = viewing/converting Markdown. markdown-editor = editing workflow (autosave, syntax highlighting, export). Both have live preview, GFM support.
Does autosave work across browser sessions?
Yes, uses browser local storage (persists across sessions). Work saved even if browser crashes. Clear browser data = autosave lost. Export to .md file for permanent backup.
Can I use HTML in Markdown?
Yes, most Markdown parsers allow HTML (<img>, <details>, <video>). Useful for features Markdown doesn't support (image sizing, custom styling). But less portable (some parsers strip HTML).
Why doesn't my list render?
Missing blank line before list. Markdown requires blank line before block elements. Fix: Paragraph\n\n- List. Or indent list (nested list needs 2-space indent).
What is GFM and do I need it?
GFM = GitHub Flavored Markdown (tables, task lists, strikethrough). If writing for GitHub README, use GFM. For standard Markdown (Jekyll, Hugo), GFM also works (backward compatible with CommonMark).
Can I export to Word (.docx)?
Not directly. Export to HTML, open in Word, save as .docx. Or use Pandoc (command-line: pandoc file.md -o file.docx). HTML export works for most use cases.
How do I create line breaks without starting new paragraph?
Two spaces at end of line (text \n) or backslash (text\\n). Single \n doesn't break (joins into paragraph). Blank line = new paragraph.