Markdown Tasks ↔ Kanban Board
TextEverything runs locally in your browser — nothing is uploaded
Convert between a Markdown task list and a plain-text board. Status markers are `- [ ]` (to do), `- [~]` (doing) and `- [x]` (done) — `[~]` is not part of CommonMark, but “doing” is the point of a board: `- [!]` and the like blur into “not done”, while `~` reads at a glance as half-finished. A list becomes a three-column board or a set of three sections, and a board converts back into task lines. Column widths are computed by display width, so CJK task names stay aligned. A list already grouped by status survives the round trip unchanged. Everything runs in the browser.
Features
- List → board: three columns (to do / doing / done)
- List → board: three vertical sections
- Board → list: back to `- [ ]` / `- [~]` / `- [x]` lines
- Status markers: `- [ ]` to do, `- [~]` doing, `- [x]` done (`[X]` also accepted)
- Column widths use display width, so CJK names do not break the alignment
- A task count for each column
- A list already grouped by status round-trips unchanged
- Copy the whole result
How to use
- Choose the direction: list → board, or board → list
- In list mode, pick three columns or three sections
- The board or list text appears as you type
- Copy the result into your notes or tracker
FAQ
- Why is “doing” written as `- [~]`?
- Because GitHub only recognises `- [ ]` and `- [x]`, while a board needs a “doing” column. Markers such as `- [!]` or `- [-]` blur into “not done”, whereas `~` reads at a glance as half-finished. The marker is only used in plain text; change `- [~]` back to `- [ ]` when pasting into GitHub.
- Why can the order change when converting a board back?
- Because a three-column board loses the original order *between* tasks. The tool emits them column by column: to do, then doing, then done. If your list was already grouped by status, the round trip is identical; if it interleaved statuses, the result is grouped by status — an information loss that any plain-text board has, and the page says so.
- Can a task name contain several spaces?
- No. Columns are separated by a run of two or more spaces, so two consecutive spaces inside a task name would be read as a column boundary. A single space and CJK punctuation are unaffected.
- Is anything uploaded?
- No. Parsing, layout and conversion all run in the browser and the page makes no requests.
Related tools
Markdown Preview
TextWrite Markdown on the left, see it rendered on the right — heading anchors, a table of contents, highlighted code blocks. Pasted HTML stays text.
Line Sorter
TextSort lines naturally (file2 before file10), lexicographically, numerically, by date, by length, reversed, or shuffled with a seed, plus dedupe.
Duplicate Lines
TextDedupe lines, keep only repeats or only uniques, or list each repeat with its count. Whole-line equality, with Windows line endings handled.
Text Diff
TextCompare two blocks of text online and highlight added, removed and unchanged lines, so only the lines that changed are marked. Runs in your browser.
Word Counter
TextCount Chinese characters and English words separately, alongside characters, lines, real UTF-8 bytes, reading and speaking time, and SMS segment counts.
Text Cleaner
TextClean up a column pasted out of a log or spreadsheet: deduplicate, sort, drop blank lines, trim whitespace and strip line numbers, all in your browser.