All posts

How to Write Markdown: A Beginner's Guide to the Essentials

Learn the core markdown syntax in 15 minutes. Headings, bold, italic, lists, links, images, code blocks, and blockquotes. Perfect for beginners. Quick reference guide included.

Markdown is a simple syntax for adding formatting to plain text. No menus. No buttons. Just a few easy symbols. This guide covers the essentials — everything you need to write formatted text without ever reaching for a mouse.


Headings

A # at the start of a line makes a heading. More # symbols means a smaller heading.

# Heading 1 (largest)
## Heading 2
### Heading 3
#### Heading 4

This renders as:

Heading 1

Heading 2

Heading 3

Heading 4


Bold and Italic

Use asterisks or underscores for bold. Use single asterisks or single underscores for italic.

**bold text**
*italic text*
***bold and italic***

Renders as:

bold text italic text bold and italic


Lists

Bullet Lists

Start a line with -, *, or + to create a bullet point:

- First item
- Second item
- Third item

Renders as:

  • First item
  • Second item
  • Third item

Numbered Lists

Start with a number and a period:

1. First step
2. Second step
3. Third step

Renders as:

  1. First step
  2. Second step
  3. Third step

Nested Lists

Indent items with two spaces:

- Parent item
  - Child item
  - Another child
- Another parent

Links

Put the link text in square brackets, then the URL in parentheses:

[Click here](https://openmarkapp.com)
[OpenMark](https://openmarkapp.com)

Renders as:

Click here


Images

Same as links, but with an ! at the start:

![Alt text](https://example.com/image.jpg)

The alt text (in square brackets) is important — it describes the image for accessibility and appears if the image fails to load.


Code

For code within a sentence, use backticks:

Use the `function()` to process the data.

Renders as:

Use the function() to process the data.

For a block of code, use three backticks:

function hello() {
  console.log("Hello, world!");
}

You can specify the language for syntax highlighting:

function hello() {
  console.log("Hello, world!");
}

Blockquotes

Start a line with >:

> This is a quote.
> It can span multiple lines.

Renders as:

This is a quote. It can span multiple lines.


Horizontal Rules

Three or more dashes, asterisks, or underscores create a divider:

---

Line Breaks and Paragraphs

In markdown, a single line break doesn't create a new paragraph. You need a blank line:

This is paragraph one.

This is paragraph two.

If you need to break a line without starting a new paragraph, end the line with two spaces.


The Next Step

This covers the basics that will handle 90% of what you write in markdown. For a more complete reference including tables, task lists, and strikethrough, see Markdown Quick Reference for a cheat sheet you can bookmark.

If you're interested in more advanced features like LaTeX math formulas and Mermaid diagrams, Markdown for Developers covers those in detail.


Download OpenMark → — $9.99, one-time, native macOS. Write markdown in any editor. Open and view it beautifully in OpenMark. Supports LaTeX math, Mermaid diagrams, and all markdown syntax.