MeshWorld India LogoMeshWorld.
MarkdownTutorial5 min read

Markdown List Guide: Ordered and Unordered Lists

Hinal Acharya
By Hinal Acharya
|Updated: Jul 14, 2026
Markdown List Guide: Ordered and Unordered Lists

Structuring data in readable formats makes documentation and blog posts much easier to digest. Lists allow you to group related points sequentially or highlight items dynamically. This guide walks you through creating ordered lists, unordered lists, nested lists, and task lists in Markdown, along with spacing rules for clean layouts.

Key Takeaways

  • Build unordered lists using dashes (-), asterisks (*), or plus signs (+).
  • Build ordered lists using numbers followed by a period (e.g., 1.).
  • Nest lists by indenting sub-items to align with the first character after the parent marker (2 spaces for `-`, 3 spaces for `1.`).
  • Create interactive task lists with unchecked [ ] and checked [x] syntaxes.

How to Create Unordered Lists in Markdown?

To create an unordered list (bulleted list), start a line with a dash -, asterisk *, or plus sign +. Follow it with a single space and your list item text. Pick one symbol and use it consistently.

markdown
- Milk
- Eggs
- Bread

All three markers produce the same visual output:

  • Milk
  • Eggs
  • Bread

The HTML equivalent generated by the parser:

html
<ul>
  <li>Milk</li>
  <li>Eggs</li>
  <li>Bread</li>
</ul>

How to Create Ordered Lists in Markdown?

To create an ordered list (numbered list), start a line with any number followed by a period . and a single space.

markdown
1. First Item
2. Second Item
3. Third Item

This renders sequentially in the browser. The HTML equivalent:

html
<ol>
  <li>First Item</li>
  <li>Second Item</li>
  <li>Third Item</li>
</ol>
Automatic Numbering Sequence

You do not need to write numbers sequentially in your raw Markdown code. Even if you use the same number (for example, writing 1. for every single item), the Markdown parser will automatically convert them to a sequential list (1, 2, 3, etc.) on the live page.

markdown
1. Setup local environment
1. Install project dependencies
1. Run local dev server

How to Create Nested Lists?

To create a nested list (a list inside another list), indent the sub-items to line up with the first character of text in the parent item — that’s 2 spaces after a -/*/+ marker, and 3 spaces after a 1.-style marker (the indent width equals the marker’s width, including the space that follows it).

Here is an example of a nested ordered list:

markdown
1. Main Item A
2. Main Item B
   1. Sub-item B.1
   2. Sub-item B.2
3. Main Item C

And this renders in the browser as:

  1. Main Item A
  2. Main Item B
    1. Sub-item B.1
    2. Sub-item B.2
  3. Main Item C

The HTML output maps a nested list inside the parent <li> tag:

html
<ol>
  <li>Main Item A</li>
  <li>Main Item B
    <ol>
      <li>Sub-item B.1</li>
      <li>Sub-item B.2</li>
    </ol>
  </li>
  <li>Main Item C</li>
</ol>

How to Create Task Lists in Markdown?

Task lists (or checklists) are a GitHub-Flavored Markdown (GFM) extension that lets you format interactive checklists. Start the line with an unordered list marker (- or *), followed by a space, and brackets containing either a space [ ] for an uncompleted task or an x [x] for a completed task.

markdown
- [x] Write project draft
- [ ] Implement team review feedback
- [ ] Publish live site

This compiles into list items with checkboxes:

  • Write project draft
  • Implement team review feedback
  • Publish live site
Always Add a Blank Line Before Lists

To prevent rendering bugs, always leave a blank line before starting a list if it immediately follows a paragraph. Some Markdown engines will fail to recognize the list and merge it into the paragraph text otherwise.


Summary Checklist

  • Use -, *, or + for unordered bulleted lists.
  • Use 1. for auto-numbered ordered lists.
  • Indent to match the parent marker’s width (2 spaces for -, 3 for 1.) to nest lists.
  • Format task lists using [ ] and [x] brackets.
  • Maintain a blank line before starting any list block.

Frequently Asked Questions

Can I mix ordered and unordered lists in nesting?

Yes! You can nest an unordered list inside an ordered list, or vice versa. Indent the child list to match the parent marker’s width — 2 spaces under a -/*/+ item, 3 spaces under a 1. item — to show parent-child nesting.

Can I add a paragraph inside a list item?

Yes. To add a paragraph inside a list item without breaking the list flow, indent the paragraph to align with the start of the text in the list item — that’s the marker’s width, so 2 spaces for - bullets or 3 spaces for 1. items (4 spaces is a safe default only for two-digit markers like 10.).

Why are my checklist checkboxes not clickable?

By default, standard Markdown task lists render as read-only checkbox inputs in HTML. Making them interactive (clickable by users) requires client-side JavaScript or a backend state manager.


Share_This Twitter / X
Hinal Acharya
Written By

Hinal Acharya

A BSc.IT student and a tutor for General Stream in Gujarat, India 🇮🇳. She is passionate about learning new things and food.

Enjoyed this article?

Support MeshWorld and help us create more technical content