What is Markdown, and why use it?
Markdown is a lightweight plain-text syntax for formatting — you type simple symbols like **bold** or # for headings, and they convert to properly formatted HTML. It's the standard for README files on GitHub, technical documentation, forum posts (Reddit, Stack Overflow), and note-taking apps, because it stays readable as plain text while still rendering cleanly when converted.
Syntax people often forget
- Tables: pipe-separated columns with a dashed separator row, e.g.
| A | B |then|---|---| - Fenced code blocks: triple backticks (
```) around a block, optionally followed by a language name for syntax highlighting - Nested lists: indent a sub-item by two or four spaces under its parent bullet or number
- Links vs. images:
[text](url)for a link, the same syntax with a leading!for an embedded image - Line breaks: a single newline is usually ignored — leave a blank line between paragraphs, or end a line with two trailing spaces for a soft break
Frequently asked questions
Why use Markdown instead of a rich text editor?
Markdown files are plain text, so they work in any editor, diff cleanly in version control, and don't lock you into a proprietary format. A rich text editor's formatting (like a Word document) is stored in a binary or complex markup format that's harder to version, review, and port between tools.
How do I write a table in Markdown?
Separate columns with pipes and add a header separator row made of dashes, for example: | Name | Age | on one line, |------|-----| on the next, then a row per data line. Most renderers, including the preview here, auto-align the columns.
Why isn't my nested list indenting correctly?
Most Markdown parsers expect sub-items indented by exactly two or four spaces (not a tab) under the parent bullet. Mixing tabs and spaces, or under-indenting, is the most common reason a nested list renders as a flat list instead.
Is my Markdown uploaded when I use this editor?
No. Everything you type is rendered locally in your browser using a JavaScript Markdown parser — nothing is sent to a server, and the preview updates instantly as you type.