使用方法
清单生成只做「把一行行文字变成可勾选的清单」这一件事,四步:
- 在左侧文本框里一行写一项,演示默认是 8 项会议准备清单。空行会被自动跳过,项首项尾的空格也会去掉。
- 在「输出格式」里选一种:Markdown 勾选框、纯文本、HTML 复选框、CSV 或 JSON。
- 点「生成清单」,右侧输出框立刻换成对应格式的内容;也可以直接按 Ctrl 加回车触发(输入框里回车留给换行)。
- 点「复制结果」整段拷走,或点「下载文件」按格式存成 .md、.txt、.html、.csv、.json。
页面打开时输出框已经预置了 Markdown 版本,所以你能立刻看清生成结果长什么样,再决定要不要换格式。
清单生成能解决什么
它解决「清单在不同地方要写成不同样子」这件事,三类场景最常见:
- 写进笔记软件:用 Markdown 格式输出,粘进支持任务列表的编辑器就是可点的小方框,勾选状态会跟着文档走。
- 打印出来手写打勾:用纯文本格式输出,每项前面带序号,打印后拿笔画勾最顺手。
- 贴进富文本或邮件:用 HTML 格式输出,收到的是一排真正的复选框,比贴一堆短横线整齐得多。
它不做三件事:不保存清单(关掉页面就没了,请先复制)、不按截止日期排序、不会自动补全内容。你的清单长什么样,完全由你输入的那几行决定。
原理和变量
① 一行一项是怎么解析的:按换行符切分整个文本,逐行去掉首尾空白后判空,空行直接丢弃。所以粘贴一段带空行的文字不会产生空清单项。前后顺序就是输出顺序,本页不做任何排序。
② Markdown 的勾选框写法:未完成写 - [ ] 项,已完成写 - [x] 项,方括号里那个字符决定初始状态。GitHub、语雀、Obsidian 等绝大多数编辑器都能把它渲染成可点击的方框,这也是本页默认格式。
③ 纯文本格式为什么还带方括号:输出形如 1. [ ] 项,序号方便口头念出第几项,方括号留给你手写打勾。它不带任何标记语法,粘到哪里都不会被当作格式解析,适合当打印稿。
④ HTML 格式输出的是什么:一段 <ul> 列表,每一项是 <li><input type="checkbox"> 项</li>。粘进富文本编辑器会变成真正的复选框控件,可以直接在网页或邮件里勾。
⑤ CSV 与 JSON 怎么转义:CSV 每行是「序号,状态,内容」,如果内容里出现逗号或双引号,整格用双引号包裹并把内部的双引号写成两个,这是 RFC 4180 的规定。JSON 用标准的字符串转义处理换行和引号,并且不带 BOM——因为带 BOM 的 JSON 会让部分解析器报错,而 CSV 带 BOM 才能让表格软件正确识别中文。
⑥ 边界与上限:项数上限 200 项,单项上限 200 个字符,超出会被截断并在提示里写明。清单内容不做去重,同样的两项写两遍就会输出两遍——这通常是你想要的,因为同名待办可能是两件不同的事。全部为空时点生成会提示「请先写至少一行内容」,不会给你一份空清单。
完整示例
演示清单是 8 项会议准备事项:确认会议时间与地点、准备投影与转接线、打印 10 份议程、提前 15 分钟到场、记录待办与责任人、会后 24 小时内发纪要、确认下次会议时间、归档本次会议材料。八项正文合计 72 个字符,加上 Markdown 每项 6 个字符的前缀 48 个,再算上 7 个换行符,总共 127 个字符。
同一批内容换成别的格式:
- 纯文本:每项前缀是「序号 + 点 + 空格 + [ ] + 空格」,第 1 到第 9 项占 7 个字符,第 10 项起序号变成两位、占 8 个字符。8 项下来是 135 个字符,比 Markdown 多的那 8 个字符,正好来自每行多出来的那一位序号。
- HTML:每项外面套
<li>与</li>、中间再加一个复选框标签,8 项合计 345 个字符,是 Markdown 的两倍多,这是标记语言的常态。它输出成一行,粘到富文本编辑器里才会展开成列表。 - 把某一项前面的空格改成小写 x,那一项在 Markdown 里就显示为已完成;纯文本与 HTML 格式不带勾选状态,改不动。
项数越多差距越明显:18 项时 Markdown 是 259 个字符、纯文本 286 个字符、HTML 已经涨到 737 个字符。所以清单只要不追求网页控件,Markdown 永远是体积最小的选择。
输入范围与对照表
下表按项数从 1 到 18 列出三种主要格式的字符数,前 12 行直接展开,余下 6 行点「加载更多」。统计用的是示例里那 18 项文字本身,所以换一批内容数字会变,但增长趋势一样:
| 清单项数 | Markdown 字符 | 纯文本字符 | HTML 字符 |
|---|---|---|---|
| 1 | 15 | 16 | 51 |
| 2 | 30 | 32 | 92 |
| 3 | 46 | 49 | 134 |
| 4 | 63 | 67 | 177 |
| 5 | 78 | 83 | 218 |
| 6 | 97 | 103 | 263 |
| 7 | 112 | 119 | 304 |
| 8 | 127 | 135 | 345 |
| 9 | 140 | 149 | 384 |
| 10 | 152 | 163 | 422 |
| 11 | 164 | 177 | 460 |
| 12 | 178 | 193 | 500 |
| 13 | 193 | 210 | 541 |
| 14 | 206 | 225 | 580 |
| 15 | 220 | 241 | 620 |
| 16 | 233 | 256 | 659 |
| 17 | 246 | 271 | 698 |
| 18 | 259 | 286 | 737 |
输入范围:项数 1 到 200 项,单项内容 1 到 200 个字符,整个文本框建议不超过 2 万个字符以免卡顿。纯文本那一列从第一项起就比 Markdown 多 1 个字符,因为它的前缀多了一个序号;到第 10 项序号变成两位,每行再多 1 个,差距进一步拉大。HTML 那一列从第一项起就远远领先,因为它要把每项都包进标签里。
结果边界和舍入
三条边界,用之前先知道:
- 不保存也不同步:清单只存在于当前页面,刷新就回到默认示例。要留档必须点复制或下载,本页不写浏览器存储,也不做云端同步。
- 不做缩进与多级清单:所有项都是同一层级,靠行首空格做的缩进会在解析时被去掉。需要多级结构请改用支持嵌套的编辑器直接写,或者先选 Markdown 格式生成后再手动补两个空格。
- CSV 与 JSON 的差别是有意的:CSV 导出带 BOM,因为 Excel 与 WPS 靠它识别 UTF-8 中文;JSON 导出不带 BOM,因为带 BOM 的 JSON 用代码读取时会在开头多出三个看不见的字节,导致解析失败。两者都不是可以随意互换的选项。
常见问题
清单内容会上传吗?
不会。解析与格式转换都在浏览器里完成,清单不会离开你的设备,关掉页面就没有了。
Markdown 里怎么表示已完成?
把方括号里的空格改成小写 x,写成「- [x] 项」。大多数笔记软件的预览会把有 x 的那项显示为划掉的可点方框。
为什么 CSV 带 BOM 而 JSON 不带?
CSV 带 BOM 是为了让表格软件正确认出中文编码;JSON 不带 BOM 是因为代码读取时会把它当成多余字符而解析失败。这是两种格式各自的规矩。
空行和缩进会被保留吗?
都不会。空行在解析时直接跳过,行首行尾的空白会被去掉,所以输出永远是一列齐平的清单项。
能生成多级嵌套清单吗?
不能。本页只做单层清单。需要缩进层级请先生成 Markdown,再到编辑器里手动给从属项补两个空格。
最多支持多少项?
200 项,单项 200 个字符。超出的部分会被截断并给出提示,避免结果过长导致复制出错。
重复的项目会去重吗?
不会。写两遍就输出两遍。同名待办常常是两件不同的事,所以本页把去重交给你自己决定。
下载的文件名是什么?
按格式自动带后缀:Markdown 是 .md、纯文本是 .txt、HTML 是 .html、CSV 是 .csv、JSON 是 .json,文件名统一叫我的清单。