Markdown Checklist Generator

Paste a Markdown document with GitHub-flavoured checklist items (- [ ], - [x], with -, +, or * bullets) and see every line surfaced with a live progress bar, an in-place toggle, sortable columns, and a one-click rebuild. Skip fenced and indented code blocks automatically. Generate a fresh checklist from a plain list. Pure client-side, no upload.

Ready.

0 items
0 open
0 done
0% complete

Generate from a plain list

Paste one task per line. Each non-empty line becomes a new open checklist item.

Your generated checklist will appear here.

Reference & notes
  • What we recognise. GitHub-flavoured Markdown checklist lines: - [ ], - [x], and the same with + or * bullets. Mixed-case [X] is parsed as done, with a one-time lint hint that GitHub's canonical form is lowercase [x].
  • What we skip. Fenced code blocks (``` and ~~~) and 4+-space indented non-list lines (CommonMark indented code blocks). A line with 4+ leading spaces and a checkbox is still treated as a nested checklist item, since that's how GitHub renders sub-tasks.
  • Indent depth. Each 2-space (or 1-tab) prefix adds one indent level. The number is rounded down so an odd-width indent still maps to the nearest level. The display does not pad or strip — what you paste is what comes back.
  • Sort stability. When two items compare equal under the chosen sort key, the original document order is the tiebreaker. Toggle, sort, then toggle again — the rebuilt Markdown reflects the new order without losing relative positions.
  • Filter. "All" shows every item, "Open only" hides completed ones (handy for daily stand-ups), "Done only" hides the rest (handy for the end-of-sprint summary).
  • Bullet normalisation. "Keep original" preserves each item's source bullet. The other three rewrite every emitted line to -, *, or +. Useful when a doc mixes bullets by accident.
  • Percent. Calculated as done / (open + done), rounded to one decimal. Items without a checkbox at all are not counted (and the linter does not flag them — they're just prose).
  • The page is built on top of src/lib/tools/md-checklist.ts — every helper is unit-tested (34 cases). Nothing leaves your browser.