Markdown Checkbox Syntax

Learn how to create task lists with checkboxes

Quick Reference

Syntax

- [ ] Unchecked item
- [x] Checked item

Result

  • Unchecked item
  • Checked item

📋 GitHub Flavored Markdown Feature

Checkboxes (task lists) are a GitHub Flavored Markdown (GFM) extension. They're supported on GitHub, GitLab, Discord, and many modern Markdown parsers, but not in the original CommonMark specification.

Basic Checkbox Usage

Task lists use regular list syntax with special checkbox markers: [ ] for unchecked and [x] for checked items.

Simple Task List

Markdown:

- [ ] Buy groceries - [ ] Walk the dog - [x] Complete project proposal - [x] Review pull request - [ ] Update documentation

Output:

  • Buy groceries
  • Walk the dog
  • Complete project proposal
  • Review pull request
  • Update documentation

Mixed with Regular Lists

Markdown:

## Project Tasks ### Development - [x] Set up project structure - [x] Install dependencies - [ ] Implement user authentication - [ ] Create dashboard ### Testing - [ ] Write unit tests - [ ] Integration testing - [ ] User acceptance testing ### Documentation - Regular documentation items: - API documentation - User guide - Installation guide

Output:

Project Tasks

Development

  • Set up project structure
  • Install dependencies
  • Implement user authentication
  • Create dashboard

Testing

  • Write unit tests
  • Integration testing
  • User acceptance testing

Documentation

Regular documentation items:

  • API documentation
  • User guide
  • Installation guide

Advanced Checkbox Techniques

Nested Task Lists

Markdown:

- [x] Phase 1: Planning - [x] Requirements gathering - [x] Create wireframes - [x] Technical specification - [ ] Phase 2: Development - [x] Backend API - [x] User authentication - [x] Database models - [ ] API endpoints - [ ] Frontend - [ ] Login page - [ ] Dashboard - [ ] Phase 3: Testing

Output:

  • Phase 1: Planning
    • Requirements gathering
    • Create wireframes
    • Technical specification
  • Phase 2: Development
    • Backend API
      • User authentication
      • Database models
      • API endpoints
    • Frontend
      • Login page
      • Dashboard
  • Phase 3: Testing

Task Lists with Formatting

Markdown:

- [x] **High Priority**: Fix critical bug - [x] *Medium Priority*: Update dependencies - [ ] **Urgent**: Deploy to production - [ ] Research new `React.Suspense` features - [x] ~~Cancelled task~~ (no longer needed) - [ ] Review [documentation](https://example.com) - [ ] Update `package.json` version

Output:

  • High Priority: Fix critical bug
  • Medium Priority: Update dependencies
  • Urgent: Deploy to production
  • Research new React.Suspense features
  • Cancelled task (no longer needed)
  • Review documentation
  • Update package.json version

Platform Support

PlatformSupportInteractiveNotes
GitHub✅ Full✅ YesClickable in issues/PRs
GitLab✅ Full✅ YesGFM compatible
Discord✅ Full❌ NoVisual only
Slack❌ None❌ NoNot supported
Reddit✅ Full❌ NoVisual only
CommonMark❌ None❌ NoNot in base spec

Best Practices

✅ Best Practices

  • Use for actionable items: Each checkbox should represent a specific task
  • Keep items concise: One task per checkbox for clarity
  • Update regularly: Mark items as complete when finished
  • Group related tasks: Use headers and nesting for organization
  • Include priorities: Use formatting to indicate importance
  • Add context: Include links or additional details when helpful

❌ Common Mistakes

  • Wrong spacing: Using "[x]" or "[ ]" without proper spacing
  • Mixed markers: Using different list markers inconsistently
  • Vague tasks: Items that aren't specific or actionable
  • Too many levels: Over-nesting makes lists hard to read
  • Not updating: Leaving completed items unchecked

Common Issues and Solutions

❌ Problem: Incorrect Spacing

Wrong:

-[ ] Missing space -[x] Also missing space - [] Missing x

Correct:

- [ ] Proper spacing - [x] Checked with space - [ ] Unchecked with space

Always include spaces: "- [ ]" and "- [x]"

❌ Problem: Case Sensitivity

May not work:

- [X] Capital X - [o] Letter O - [v] Letter V

Reliable:

- [x] Lowercase x - [ ] Space for unchecked - [x] Always lowercase x

Use lowercase "x" for checked items and a space for unchecked.

Try Checkboxes Yourself!

Practice checkbox syntax with our free online converter.

Related Syntax Topics