MarkdownViewer

Markdown Checkbox: Task List Syntax

A Markdown checkbox is a list item with a bracket marker: `- [ ]` for something not done and `- [x]` for something done. It comes from GitHub-Flavoured Markdown and has become the standard way to write to-do lists in README files and issues.

The syntax

  1. `- [ ] Buy milk` — unchecked
  2. `- [x] Ship the release` — checked
  3. `- [X]` — a capital X also counts
  4. Nested: indent the same as any list item under a parent task

Where checkboxes actually render

GitHub, GitLab, Gitea and many markdown editors render task lists as real checkboxes, and some even let you tick them in place (which edits the file). Plain renderers and most content management systems show the brackets as literal text, which is why a to-do list can look broken in one app and perfect in another.

Turning a checkbox list into a plain list

If a target renderer does not support task lists, replace `- [ ]` with `-` to keep the items readable. The content survives; you just lose the visual checkbox.

Checkboxes outside to-do lists

The same `[ ]` / `[x]` notation appears in issue templates and pull-request checklists, where it signals completion of a process. It is the same syntax; only the context differs.

Frequently Asked Questions

Does GitHub render Markdown checkboxes as clickable?
Yes. In README files, issues and pull requests GitHub renders them as checkboxes, and in issues you can tick them, which edits the text to `[x]`.
Why do my checkboxes show as brackets?
The renderer does not support GitHub-Flavoured task lists. Use a GFM-compatible renderer, or switch to plain bullets for that output.
Is a space required inside the brackets?
Yes — `- [ ]` and `- [x]` need the space after the opening bracket. `- []` or `- [ x]` may not be recognised.
Can I nest checkboxes?
Yes, indent them like any list item. Nested task lists are common in project checklists.

Related Markdown Tools