You write a README, push it, open the repo page, and the table is a mess of pipes. The list you indented "correctly" is now a code block. The checkbox is a literal [ ].
Markdown is forgiving to write and unforgiving to render. A live preview catches all of that before anyone else sees it. Here are four ways to get one, depending on where you're writing, plus the mistakes worth looking for.
1. VS Code: the preview you already have
VS Code ships a Markdown preview, no extension needed.
-
Cmd+Shift+V(Mac) orCtrl+Shift+V(Windows, Linux) opens the preview in a tab. -
Cmd+K VorCtrl+K Vopens it side by side, and it scrolls along with the editor.
Good for: files that already live in a repo you have open.
2. GitHub's own Preview tab
Editing a .md file in the GitHub web editor? The Preview tab next to Edit renders it with GitHub's own flavor of Markdown, the same one your repo page uses.
Good for: quick fixes to a file that's already on GitHub.
3. grip: GitHub rendering on localhost
pip install grip
grip README.md
# then open http://localhost:6419
grip renders the file through GitHub's Markdown API, so what you see matches the repo page closely. It refreshes when you save.
Good for: checking a README exactly the way GitHub will show it, from the terminal.
4. A browser editor where the preview is the document
Sometimes there's no repo yet. Someone pasted Markdown into Slack, an AI tool answered with a page of ## and **, or you're on a machine where you can't install anything.
For that, we built a free Markdown live preview at TypeFire. You paste Markdown in and it renders the moment it lands, right where you pasted it. There's no second pane to keep in sync, because the rendered text is the thing you edit.

A README pasted in: the heading, inline code and the table render where you pasted them.
A few details that matter for developer work:
-
Paste a README or drop the
.mdfile onto the page; tables, fenced code, task lists and links render as they land. - Pasting from a web page or a doc converts to Markdown with the headings, links and lists kept, which is handy when you're turning a Google Doc into a README.
- Copy it back out either way: File > Copy > As Markdown for the source, or As rich text for an email or a chat.
- Nothing is uploaded. Your text stays in the browser tab, and tabs are saved locally so a refresh doesn't lose them.

Pasted from a web page: the heading, bold, link and list arrive as Markdown.

File > Copy gives you the source or the formatted version.
The same editor also ships in TypeFire for Chrome, with your notes in tabs, a text expander and clipboard history:
Good for: Markdown that doesn't live in a repo yet, or anywhere you can't install tools. If you just need to read a .md file on a Mac rather than edit it, the Markdown viewer for Mac guide covers that.
What to look for in the preview
Whichever tool you use, these are the five mistakes a preview catches that your eyes skip in raw Markdown:
1. Tables without a separator row. The second line has to be dashes and pipes, or there's no table:
| Flag | What it does |
| --- | --- |
| `-v` | Verbose output |
Here's the same table without that row, and then with it:

No separator row: just text with pipes in it.

Add | --- | --- | and it becomes a table.
2. A numbered list that doesn't start at 1. On GitHub a bullet list can follow a paragraph directly, but a numbered list starting at 3. with no blank line above it merges into the paragraph. Add the blank line, or start at 1..
3. Nested lists indented by the wrong amount. Line nested items up under the text of the parent item. Too little indent and the child item flattens into the parent list.
4. Task lists that need the exact syntax. It's - [ ] and - [x], with a space inside the empty brackets and a space after them. -[ ] stays as literal text.
5. Fenced code without a language.
```bash
gets syntax highlighting; a bare
```
doesn't. The preview shows you which blocks you forgot to tag.
Which one should you use?
- Writing inside a repo in VS Code: the built-in preview.
- Fixing a file on GitHub: the Preview tab.
- Want GitHub's exact rendering locally:
grip. - Markdown from anywhere else, or no install allowed: a browser live preview.
What's the Markdown rendering bug that bit you last?
Top comments (0)