Markdown Is a Family, Not a Standard
John Gruber's original 2004 Markdown had no formal specification and left many cases undefined, so implementations diverged. The result is that the same document can render differently depending on where you paste it, and knowing which dialect you are writing for prevents most of the surprises.
CommonMark emerged to pin down the ambiguities with a precise specification and a test suite. GitHub Flavored Markdown builds on CommonMark and adds the features people actually expect from a modern editor: tables, strikethrough, task lists and automatic links.
What This Editor Supports
The preview here renders GitHub Flavored Markdown, plus two extensions worth knowing about.
Tables, task lists and strikethrough
None of these exist in original Markdown. Tables are built with pipes and a separator row whose colons control column alignment. Task lists use - [ ] and - [x]. Strikethrough wraps text in double tildes. All three come from GFM and all three fail silently in a strict CommonMark renderer, appearing as literal punctuation.
Mathematics
LaTeX notation renders through KaTeX. Wrapping an expression in single dollar signs places it inline; double dollar signs put it in its own centred block. This is what makes Markdown usable for technical notes, and it is not part of any Markdown standard, it is a layer on top.
Diagrams
A fenced code block tagged mermaid renders as a diagram rather than as code. Flowcharts, sequence diagrams and Gantt charts are all described in text, which means they live in version control as text and diff meaningfully, the reason many teams prefer them to embedded images.
The Rules That Trip People Up
- A single newline is not a line break. Markdown joins consecutive lines into one paragraph. A blank line starts a new paragraph; two trailing spaces force a break within one.
- Lists need a blank line before them. Without one, many renderers absorb the list into the preceding paragraph.
- Indentation is significant in lists. Nesting depends on it, and mixing tabs with spaces produces different results in different renderers.
- Underscores inside words vary. GFM does not treat
snake_case_nameas emphasis; some older renderers do, and italicise the middle.
Where It Renders Differently
Markdown that looks correct here may not elsewhere. GitHub and GitLab both support GFM but differ on some extensions. Reddit, Discord and Slack each use restricted subsets, Slack notably uses single asterisks for bold rather than italics, which is the opposite of standard Markdown. Static site generators vary by plugin configuration.
The practical approach is to write for the strictest target you need. Anything valid in CommonMark renders everywhere; the further you go into extensions, the more you are relying on a particular renderer.
Why Plain Text Outlasts Editors
The argument for writing in Markdown rather than a word processor is not that the syntax is elegant. It is that the file remains readable without the software that made it. A .md file opens in anything, diffs line by line in version control, and will still be legible in twenty years, which is not obviously true of any proprietary document format.
That property is why Markdown became the default for README files, technical documentation, static site content and note-taking applications. The formatting is a side effect; the durability is the point.
This editor runs entirely in your browser, so nothing you type is transmitted or stored, which makes it usable for drafting notes and documentation you would not paste into an online service.