Markdown · <code>-</code>, <code>*</code> or <code>+</code>

Lists

Ordered and unordered lists use markers at the start of a line, with indentation for nesting.

Key facts

Bullets<code>-</code>, <code>*</code> or <code>+</code>
Ordered<code>1.</code>, <code>2.</code> or <code>1)</code>
NestingIndent by the parent marker width
StartFirst number sets the start in CommonMark
Loose listBlank lines between items add paragraph spacing
StandardCommonMark §5.2, §5.3

Markers and indentation

A list item begins with a bullet or a number followed by a space. The same marker does not have to be used for every item, but switching between - and * mid-list can start a new list in some parsers. Nesting works by indenting the child item to the content column of its parent, not by a fixed number of spaces.

Ordered lists can use 1. for every item; the renderer numbers them. CommonMark honours the first number as the start value, so 3. begins at three. GFM and some older parsers ignore the start value.

Tight, loose and interrupted

A list with no blank lines between items is tight: item text is wrapped without paragraph spacing. Inserting a blank line makes it loose, and every item gains paragraph spacing. That difference is often the reason two renderers look different.

A paragraph immediately after a list, without a blank line, may be absorbed into the last item. Add the blank line deliberately. Indented code inside an item needs the item's content indentation plus four spaces.

Frequently asked questions

Can I use numbers out of order?

Yes. The marker numbers are mostly cosmetic; CommonMark uses only the first as the start value.

Why did my nested list not nest?

It is not indented far enough. Indent to the parent item's content column, usually two to four spaces.

New tools, straight to your inbox

One short email when we add tools worth using. No spam, unsubscribe anytime.