Skip to main content
ToolsHub
5 min read

Markdown Writing Guide: Syntax and Workflow

A practical tour of Markdown syntax — headings, emphasis, lists, links, images, code and tables — plus where it is used and how to preview as you write.

What Markdown Is and Why It Won

Markdown is a lightweight markup language that lets you format plain text using simple, readable symbols. You write a hash for a heading or asterisks for emphasis, and a converter turns it into clean HTML. The genius of the design is that the raw text stays perfectly readable even before it is rendered — unlike HTML, where tags clutter the content. That readability is why Markdown spread everywhere. It is the format behind README files on GitHub, most static-site and documentation generators, note-taking apps, chat tools, and countless content platforms. Learn it once and you can write formatted text in dozens of places without touching a mouse. The best way to learn is to type and watch the result. The Markdown preview tool renders your text live as you write, entirely in your browser, so you can experiment with syntax and see exactly what each symbol produces. A little history explains its staying power: Markdown was created in 2004 with the explicit goal that the source should be publishable as-is — readable as plain text without looking like it has been marked up. That single design principle is why it has outlasted countless heavier formats and become a near-universal default for technical writing.

Text Basics: Headings, Emphasis, Lists

The everyday building blocks of Markdown are quick to memorize. Headings use hash symbols at the start of a line. One hash is a top-level heading, two hashes a subheading, and so on down to six levels. Always leave a space after the hashes. Emphasis wraps text in symbols. A single pair of asterisks makes text italic, and a double pair makes it bold. So *this* is italic and **this** is bold. Underscores work the same way. Lists come in two kinds. For a bullet list, start each line with a dash, an asterisk, or a plus sign. For a numbered list, start each line with a number and a period — and helpfully, the exact numbers do not matter, because the renderer counts for you. Indent with spaces to create nested sub-items. Blockquotes use a greater-than sign at the start of a line, which is handy for quoting sources. As you draft, keeping an eye on length with the word counter helps when a piece has a target.

Links, Images, Code and Tables

The richer features unlock most real documents. Links use square brackets for the visible text followed by parentheses for the URL: [the label](https://example.com). Images use the same pattern with a leading exclamation mark, where the bracketed text becomes the alternative text for screen readers. Inline code is wrapped in single backticks, which is perfect for naming a function or a filename mid-sentence. For a multi-line code block, fence the lines between two rows of three backticks, and you can name the language after the opening fence to get syntax highlighting. Tables use pipes to separate columns and a row of dashes to mark the header. They look a little fussy in raw text but render into clean grids, and most editors help align them. When you already have content as HTML and want it in Markdown — or the reverse — the HTML to Markdown converter handles the translation both ways, which saves a lot of manual retagging when moving content between systems.

A Practical Writing Workflow

Knowing the syntax is only half the job; a smooth workflow is what makes Markdown genuinely faster than a word processor. Write in plain text, preview continuously. Keep a live preview open beside your draft so formatting mistakes — a missing space after a hash, an unclosed code fence — surface immediately rather than at publish time. The Markdown preview tool is built exactly for this. Mind the flavors. Markdown has dialects. The original spec is small, while "GitHub Flavored Markdown" adds tables, task lists, and fenced code blocks. If something renders on one platform but not another, a flavor difference is the usual cause — check the target platform's documentation. Keep it portable. Because a Markdown file is just text, it works in any editor, lives happily in version control, and converts cleanly to HTML, PDF, or slides. That portability is the real payoff. A reliable routine looks like this: 1. Draft in a plain-text editor or the preview tool. 2. Check the rendered output as you go. 3. Convert to or from HTML when moving between systems. 4. Confirm length and clarity before publishing.

Frequently Asked Questions

How do I make text bold in Markdown?

Wrap the text in double asterisks or double underscores, so **bold** or __bold__ both render as bold. A single pair of either symbol produces italic text instead.

What is GitHub Flavored Markdown?

It is a popular dialect that extends the original spec with tables, task lists, strikethrough, and fenced code blocks. If formatting works on GitHub but not elsewhere, a flavor difference is usually why.

How do I add a code block in Markdown?

Fence the lines between two rows of three backticks. You can name the language right after the opening fence, like js, to enable syntax highlighting on supported platforms.

Can I convert between HTML and Markdown?

Yes. An HTML to Markdown converter translates in both directions, which is useful when moving content between a CMS that uses HTML and a platform that expects Markdown, avoiding manual retagging.