MeshWorld India LogoMeshWorld.

Markdown List Guide: Ordered and Unordered Lists

(Updated: Jul 14, 2026)
Listen to ArticleAI Speech
~5 min read narration
100%
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.


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>

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

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.


Reader Quality Feedback

Did this technical guide help solve your problem?

Suggest Errata ($0)
Hinal Acharya
Primary Author

Hinal Acharya

A BSc.IT student and a tutor for General Stream in Gujarat, India ๐Ÿ‡ฎ๐Ÿ‡ณ. She is passionate about learning new things and food.

Explore Author Archive
Compute Fuel & Open Testbed
100% Independent & Verified

Fuel High-Density, Zero-Fluff Engineering Deep-Dives

Every guide on MeshWorld is validated on physical Linux nodes and reproducible testbeds. If this article saved you hours of debugging or unblocked production, consider funding our next cluster run.

Weekly Dispatch

Join MeshWorld Dispatch

Get practical tutorials, system blueprints, and curated AI engineering notes straight to your inbox. No fluff, zero spam.

Zero spam. 1-click unsubscribe anytime.Prefer RSS?
Curated Continuations

Up Next in This Domain.

Browse Full Archive