How to create checkboxes and task lists in markdown using - [ ] and - [x] syntax. GitHub, Obsidian, and Notion support.
Task lists (also called checklists or to-do lists) are a GitHub Flavored Markdown extension that renders interactive checkboxes. An unchecked item uses - [ ] and a checked item uses - [x]. On GitHub, the checkboxes are clickable in issues and pull requests.
A space between the brackets creates an unchecked checkbox.
An x (or X) between the brackets creates a checked checkbox.
Mix checked and unchecked items for progress tracking.
| Platform | Supported | Notes |
|---|---|---|
| GitHub | Yes | Interactive — click to toggle in issues/PRs |
| GitLab | Yes | — |
| Obsidian | Yes | Interactive checkboxes |
| Notion | Yes | Converted to Notion checklist blocks |
| Discord | No | Renders as plain text |
| Slack | No | — |
- [] Task
- [ ] Task
The space inside the brackets is required. [] without a space will not render as a checkbox.
- [X] Task
- [x] Task
Most parsers accept uppercase X but lowercase x is the standard. Some renderers are case-sensitive.
GitHub shows task list completion as a progress indicator on pull requests and issues — e.g., "3 of 5 tasks complete".
Indent sub-tasks with 2 spaces to create nested checklists for multi-step tasks.
Everything you need to know.
Use - [ ] for an unchecked box and - [x] for a checked box. The space inside the brackets is required.
Bullet lists (unordered lists) in markdown start each item with a dash (-), asterisk (*), or plus sign (+) followed by a space. They're the most common way to present non-sequential items, features, or options.
Numbered lists (ordered lists) in markdown start each item with a number followed by a period and a space (1. ). Markdown auto-numbers the output regardless of the numbers you type — all items could be "1." and the rendered list would still count correctly.
Nested lists are created by indenting list items with 2–4 spaces (or a tab). You can nest unordered lists inside ordered lists and vice versa. The level of indentation determines the depth of nesting.
Paste your markdown and see task list rendered instantly with professional themes.