Markdown checkbox and task lists

A task list is a normal list item that starts with [ ] or [x]. It is a GitHub Flavored Markdown extension.

- [x] Write the outline
- [x] Draft the intro
- [ ] Add screenshots
  - [ ] Desktop
  - [ ] Mobile
- [ ] Publish

Syntax

Start a list item with a space inside brackets for an unchecked box, or an x for a checked one: - [ ] todo, - [x] done. There must be a space between the dash and the bracket and after the closing bracket.

Where the boxes are clickable

In GitHub issues, pull requests and comments you can tick boxes directly and GitHub rewrites the Markdown for you; it also shows progress like “2 of 5 tasks”. In READMEs and most other renderers they are read-only.

Nested tasks

Indent sub-tasks by two spaces (under -) or three (under 1.).

Checkboxes in a table

Task-list syntax only works in lists. In a table cell, use an emoji such as ✅ / ⬜, the shortcodes :white_check_mark: / :white_large_square:, or HTML <input type="checkbox" disabled checked> where allowed.

Uppercase X

[X] also counts as checked on GitHub and in markdown-it.

Quick answers

How do I make a checkbox in Markdown?
Write - [ ] item for an empty box and - [x] item for a ticked one.
Why is my checkbox not rendering?
Task lists are a GFM extension. Check that your renderer supports them and that there are spaces around the brackets.