目录生成器

把整篇 Markdown 粘进来,自动按标题层级抽数一份带锚点链接的目录,支持设定深度与列表样式。

输入 Markdown 文档

层级范围 只收录该深度内的标题
H H
列表样式
锚点链接风格

输出 目录(TOC)


                

在线 Markdown 目录生成器介绍

Markdown 目录生成器读取文档中的各级标题(#######),按层级缩进生成一份目录(TOC),并为每个条目附上与 GitHub 规则一致的锚点链接——中文标题、空格、标点都会按 GitHub 的 slug 规则正确转换,点击目录即可跳转到对应章节。可控制收录深度、选择有序/无序/纯文本样式,生成后一键复制回填到文档开头。全部解析在浏览器本地完成,文档内容不上传。

主要功能

  • # 层级自动建树,缩进与标题层级一一对应
  • 锚点链接遵循 GitHub slug 规则,中文标题可正常跳转
  • 可设定收录的标题层级范围(如只收 H2–H3)
  • 无序 / 有序 / 纯文本缩进三种列表样式
  • 自动忽略代码块、行内代码里的「伪标题」
  • 统计标题数量,复制或下载 .md 文件

使用方法

  1. 把整篇 Markdown 文档粘贴到左侧输入框
  2. 按需调整层级范围(常用 H2~H3)与列表样式
  3. 右侧即时生成目录,检查层级是否符合预期
  4. 点「复制」,把目录粘贴回文档的开头位置

常见问题

为什么目录里少了我写的标题?
最常见的原因有两个:一是标题层级被排除在「层级范围」之外(比如只收 H2–H3 而那是 H4);二是标题写在了代码块里,工具会把 fenced code block 内的内容当作代码而非文档结构,这是有意设计。
生成的锚点在语雀 / 飞书 / 微信公众号能用吗?
不一定。GitHub 式锚点在 GitHub、GitLab、Typora、Obsidian 等环境中有效;语雀、飞书、公众号等平台的锚点规则各不相同,此时建议选择「不加链接」的纯目录,再手动补各自平台的锚点。
重复标题的锚点怎么处理?
按 GitHub 规则,同名标题从第二个开始追加 -1-2 等序号,工具已自动处理,重复标题也能各自跳转。
有没有办法自动维护目录?
GitHub、VS Code 等环境支持 TOC 相关扩展插件,可在保存时自动更新。本工具适合发布前一次性生成或文档结构变动后重新生成。

注意事项

  • 标题层级建议连续使用(H2 下用 H3),跳级会导致目录缩进混乱
  • 锚点跳转只在支持该 slug 规则的平台上生效,跨平台前先测试
  • 目录本身也是 Markdown 列表,回填后如再用本工具重新生成,请先移除旧目录
  • 超长文档建议只收录到 H3,避免目录比正文还长