Markdown 编辑器
Markdown 编辑器,是左边写 Markdown 源码、右边同步渲染预览的在线写作工具:不记语法也能靠工具栏和快捷键排版,写完直接导出。免费 markdown 编辑器无需注册,渲染用 marked、消毒用 DOMPurify,全程在浏览器本地完成,markdown 编辑器不上传你写的内容,草稿只存这台设备、可一键清空。支持 GFM 表格与任务列表,带 markdown 实时预览与字数统计。
左边开始写,右边会实时渲染。
写作选项
你写的正文不上传、也不会被执行:渲染用 marked、消毒用 DOMPurify,都在你的浏览器里跑。草稿只存这台设备的浏览器,可以随时关掉或清空。
如何使用Markdown 编辑器
左边编辑区直接开始写,也可以把 .md 文件拖进来;这是一个在线 markdown 编辑器,md 在线编辑与 markdown 在线写作都在这一页完成,内容不上传,全程在浏览器本地渲染。
不记语法就用工具栏:加粗、斜体、标题、引用、列表、任务列表、表格、代码块、链接、图片一键插入;markdown 快捷键与工具栏按钮一一对应,回车会自动接续列表,Tab 缩进层级,markdown 表格编辑先插一个空表骨架再往里填。
右边 markdown 分屏预览跟着你写到的位置滚动;右侧大纲列出所有标题,点一下就跳过去,也能一键把 markdown 目录生成好插进正文,markdown 大纲目录和正文始终对齐。
写完从统计条看 markdown 字数统计,再选导出:下载 .md、下载 .html、复制富文本粘进 Word,或者用浏览器打印存成 PDF。
关于Markdown 编辑器的常见问题
- Markdown 编辑器会上传我写的内容吗?
- 不上传,也不执行。你敲进去的每个字都留在浏览器里:渲染用 marked 在本地跑,预览前用 DOMPurify 消毒,两者都不需要联网。这个免费 Markdown 编辑器不需要注册,也没有账号体系,所以没有地方可以存你的正文。唯一会往外发的请求,是你自己写进正文的那些外链图片:预览要显示它们就得向图床要一次图,那台服务器因此知道有人在看这张图。不想让它知道,就把「预览里加载远程图片」关掉,关掉后只显示占位框。
- 在线 Markdown 编辑器怎么导出 HTML 和 PDF?
- 结果区有四个出口。下载 .md 拿到的是编辑区里逐字节一样的原文,不做任何顺手的规范化;markdown 导出 html 走的是「下载 .html」,产物是消毒后的正文套上带 charset 与基础排版样式的完整网页,双击就能用浏览器打开、中文不乱码;「复制富文本」把渲染结果和源码同时写进剪贴板,可以直接粘进 Word、飞书、语雀和公众号后台。markdown 导出 pdf 这件事本站不自己做,请点「打印 / 存 PDF」用浏览器的打印功能存成 PDF,分页由浏览器决定;要精细控制 PDF 排版请用我们的姊妹站「PDF在线工具」。
- Markdown 编辑器草稿会自动保存吗?换电脑还在吗?
- 会自动保存,但只存在这台设备的浏览器里。markdown 草稿保存走的是 1 秒防抖写入本机存储,重新打开页面时顶部会提示「已恢复上次的草稿」,并给「用示例重来」和「清空草稿」两个按钮,不会静默覆盖也不会静默丢弃。因为内容不上传,所以它不跨设备:换电脑、换浏览器、清掉浏览器数据,草稿都不会跟着走,重要的稿子请及时下载 .md 留底。文档超过 20 万字符会停止自动保存并明确提示,不静默截断;隐私模式或存储满了写不进去时也会提示,不会影响你继续写。
- Markdown 编辑器支持哪些语法?GFM 表格能用吗?
- 支持 CommonMark 加 GFM 扩展:表格、任务列表、删除线、自动链接都能用,markdown 表格编辑可以先用工具栏插一个三列的空表骨架再往里填。语法速查表列了 17 条常用写法,够日常写文章用。不支持的部分也说清楚:数学公式、流程图、脚注、front matter、目录指令这些各家扩展都不解析,会原样当普通文本显示,既不报错也不猜。另外表格和任务列表属于 GFM,把「GFM」开关关掉后它们会按纯文本显示,这是 CommonMark 的事实,不是渲染出错。
- 手机上能用这个在线 md 编辑器吗?
- 能。这是一个网页版 markdown 编辑器,也就是常说的 markdown 编辑器网页版,手机、平板、电脑打开浏览器就能用,不装软件也不装插件。markdown 编辑器手机版没有单独的 App:窄屏下页面自动换成「编辑 / 预览 / 大纲」三个标签,点标签切换,工具栏可以横向滑动,滚动同步在单栏下不启用(一次只看得到一栏,同步没有意义)。手机键盘上没有 Tab 键,缩进请点工具栏的列表按钮。要长时间写作还是建议用电脑,分屏边写边看效率高得多。
- Markdown 编辑器和 Markdown 转 HTML 有什么区别?
- 目的不一样。本页是写作台:你在这里把文章写出来,所以有工具栏、快捷键、草稿、大纲和字数统计,主产物是文章本身。Markdown 转 HTML 是转换器:你手上已经有写好的 md,只想拿到 HTML 代码或者一个网页文件,那边给的是源码框和一键复制。判断很简单:正在写就留在这一页,只想要转换结果就去那一页。两页用的是同一个渲染引擎和同一套 GFM 口径,所以两边看到的排版是一致的。
- Markdown 编辑器有哪些快捷键?代码块怎么快速插?
- 快捷键表列了 18 组,常用的是加粗 Ctrl/Cmd + B、斜体 Ctrl/Cmd + I、行内代码 Ctrl/Cmd + E、插链接 Ctrl/Cmd + K、一到三级标题 Ctrl/Cmd + 1/2/3、下载 .md 是 Ctrl/Cmd + S。表格和代码块建议直接点工具栏的「表格」「代码块」:表格会插一个三列的 GFM 骨架并把光标放进第一格,代码块有选区就把选区围起来、没选区就插空围栏并把光标放在语言标识位。有几组带 Shift 的组合可能被浏览器占用,被占用时请改用工具栏按钮,表里已经逐条标注。Tab 键插入的是空格,绝不插入真 Tab 字符。
- 从网页或 Word 粘贴内容到 Markdown 编辑器会怎样?
- 默认会自动转成 Markdown。剪贴板里同时带着富文本时,本工具用 turndown 把它转成标题、列表、表格这些 Markdown 语法再贴进来;不想要这个行为就关掉「粘贴网页富文本时自动转成 Markdown」,或者按 Ctrl/Cmd + Shift + V 强制贴纯文本。要提醒两点:复杂排版(多层嵌套表格、绝对定位、Word 的私有标记)靠 turndown 尽力转换,可能转得不理想,这时改贴纯文本再手动排版更省事;直接粘一张图片文件不会做 base64 内嵌,那会让 .md 体积爆炸,请先把图片传到图床再用图片语法引用。
Markdown 常用语法速查与工具栏对照
下面这张表把 17 条常用写法和工具栏按钮一一对上:记不住语法就点按钮,记住了就直接敲, 两条路产出的源码完全一样。写的时候右边就是 markdown 语法预览,改一个字符 md 实时预览立刻跟着变, 不用来回切页面确认效果。表格数据取自站内数据表(复核于 2026-08-30),页面不手写第二份。
这件事在中文里有好几种叫法:markdown 编辑器、md 编辑器、markdown 文本编辑器,说的都是同一件事; 英文站点上的 online markdown editor、markdown editor online、markdown live preview 找的也是这类工具。 本页是一个可以直接 markdown 在线编辑的 markdown 编辑器在线版本,markdown 在线编辑器免费使用、无需注册。
被问得最多的是 Markdown 编辑器怎么用,答案是不用先背语法:想加粗就选中文字点「加粗」, 想插表格就点「表格」,按钮会把标记替你敲进去,你在左边看到源码怎么变、右边看到效果怎么变, 对着表看几遍就记住了。本工具遵循 CommonMark 规范,再叠加 GFM 扩展—— 这两份规范是绝大多数平台(GitHub、语雀、飞书、各类静态站生成器)共同的底子, 所以在这里写熟的写法,换到别处基本还是那一套。
| 语法 | 写法 | 效果 | 工具栏按钮 |
|---|---|---|---|
| 一级标题 | # 标题 | 整篇最大的标题,一篇通常只写一个;大纲里排在最外层 | H1 |
| 二级标题 | ## 标题 | 章节标题,写长文时最常用;井号后面必须有一个空格 | H2 |
| 三级标题 | ### 标题 | 小节标题,最多可以写到六级(六个井号) | H3 |
| 加粗 | **加粗** | 两个星号包住,中间不要留空格 | 加粗 |
| 斜体 | *斜体* | 一个星号包住;中文字体下斜体不明显是字体的事 | 斜体 |
| 删除线 | ~~删掉~~ | 两个波浪号包住,属于 GFM 扩展,关掉 GFM 就不生效 | 删除线 |
| 行内代码 | `code` | 反引号包住一小段代码;内容里本身有反引号时要用更多反引号包 | 行内代码 |
| 代码块 | ```js | 三个反引号起一行、三个反引号收一行,起始那行后面写语言名 | 代码块 |
| 引用 | > 引用 | 大于号加空格;可以和列表叠加使用 | 引用 |
| 无序列表 | - 列表项 | 减号加空格;缩进两个空格就是下一级 | 无序列表 |
| 有序列表 | 1. 列表项 | 数字加点加空格;编号会由渲染器重排 | 有序列表 |
| 任务列表 | - [ ] 待办 | 方括号里留空格是未完成、写 x 是已完成,属于 GFM 扩展 | 任务列表 |
| 链接 | [文字](https://…) | 方括号写显示文字,圆括号写地址 | 链接 |
| 图片 |  | 比链接多一个感叹号;本工具不做图片内嵌,请先传图床 | 图片 |
| 表格 | | 列 1 | 列 2 | | 第二行用减号写分隔行,属于 GFM 扩展;关掉 GFM 会按纯文本显示 | 表格 |
| 分割线 | --- | 独占一行的三个减号,上下各留一个空行 | 分割线 |
| 引用式链接 | [文字][ref] | 把地址集中写在文末的 [ref]: https://… 一行里,正文只留代号 | (无按钮) |
表格和任务列表属于 GFM 扩展。把「GFM」开关关掉之后它们会按纯文本显示,这是 CommonMark 的规定,不是渲染出错。数学公式、流程图、脚注这些各家扩展本工具一律不解析,原样当文本显示。
Markdown 快捷键一览(Windows / macOS)
工具栏上的每个按钮都有对应的 markdown 快捷键。有几组带 Shift 的组合可能被浏览器自己占用(比如 Firefox 的查看源代码、书签管理器), 表里如实标出来了:占用时请点工具栏按钮,不必和浏览器较劲。
| 动作 | Windows / Linux | macOS | 备注 |
|---|---|---|---|
| 加粗 | Ctrl + B | Cmd + B | 常规组合,浏览器一般不拦截 |
| 斜体 | Ctrl + I | Cmd + I | 常规组合,浏览器一般不拦截 |
| 行内代码 | Ctrl + E | Cmd + E | 常规组合,浏览器一般不拦截 |
| 插入链接 | Ctrl + K | Cmd + K | 常规组合,浏览器一般不拦截 |
| 一级标题 | Ctrl + 1 | Cmd + 1 | 常规组合,浏览器一般不拦截 |
| 二级标题 | Ctrl + 2 | Cmd + 2 | 常规组合,浏览器一般不拦截 |
| 三级标题 | Ctrl + 3 | Cmd + 3 | 常规组合,浏览器一般不拦截 |
| 删除线 | Ctrl + Shift + X | Cmd + Shift + X | 常规组合,浏览器一般不拦截 |
| 代码块 | Ctrl + Shift + E | Cmd + Shift + E | Firefox 可能占用(打开网络面板),占用时请点工具栏按钮 |
| 引用 | Ctrl + Shift + Q | Cmd + Shift + Q | macOS 的 Cmd + Shift + Q 是系统注销,macOS 上请点工具栏按钮 |
| 无序列表 | Ctrl + Shift + U | Cmd + Shift + U | Firefox 可能占用(查看源代码),占用时请点工具栏按钮 |
| 有序列表 | Ctrl + Shift + O | Cmd + Shift + O | Firefox 可能占用(书签管理器),占用时请点工具栏按钮 |
| 任务列表 | Alt + T | Option + T | 常规组合,浏览器一般不拦截 |
| 缩进一级 | Tab | Tab | 插入空格,绝不插入真 Tab 字符 |
| 反缩进一级 | Shift + Tab | Shift + Tab | 最多吃掉一个缩进单位的空格,不吃非空白 |
| 下载 .md | Ctrl + S | Cmd + S | 拦截浏览器的「保存网页」,改为下载你的 .md |
| 粘贴为纯文本 | Ctrl + Shift + V | Cmd + Shift + V | 不走富文本转换,原样贴纯文本 |
| 撤销 / 重做 | Ctrl + Z / Ctrl + Y | Cmd + Z / Cmd + Shift + Z | 走浏览器原生撤销栈,工具栏动作也在栈里 |
Markdown 任务列表、代码块与插入图片怎么写
这三样都有工具栏按钮,但各有一个只有踩过才知道的细节,先说清楚再写更省事。
- Markdown 任务列表:写成
- [ ] 待办,方括号里必须留一个空格; 打勾是- [x] 已完成,x 用小写。它属于 GFM 扩展,把「GFM」开关关掉后整行会退回成普通列表项, 方括号原样显示。统计条会顺带数出「已完成 / 总数」,写周报和发布清单时不用自己数一遍。 - Markdown 代码块:三个反引号起一行、三个反引号收一行,起始那行后面写语言名。 点工具栏的「代码块」时,有选区就把选区整个围起来,没选区就插一对空围栏并把光标停在语言标识那一格, 直接敲 js、python 就行。代码块里的内容不进正文字数,也不进大纲—— 所以在代码块里写井号开头的注释,右侧大纲不会多出一个假标题。
- Markdown 插入图片:写法是
,比链接多一个开头的感叹号。 本工具不做 base64 内嵌:base64 每 3 个字节编成 4 个字符,图片进正文后体积还要再涨约三分之一, 一张 300 KB 的图会变成 400 KB 的一坨字符横在源码里,之后再想改这段文字都难找。 所以请先把图传到图床或自己的站点,再用地址引用。说明文字会算进正文字数,图片地址不算。
带 Shift 的那几组快捷键在 Firefox 上可能和浏览器自带功能撞车,撞上了就点工具栏按钮, 上面那张表已经逐条标注是哪一个功能占用的。macOS 上的 Cmd + Shift + Q 是系统注销,别去试。
Markdown 导出 HTML、导出 PDF 与 .md 的区别
下载 .md 给的是原文,下载 .html 给的是能直接打开的完整网页,复制富文本给的是能粘进 Word 的内容, 打印则是把定稿交给浏览器存成 PDF——四个出口给的是四种东西,别选错:
| 出口 | 拿到什么 | 什么时候用 |
|---|---|---|
| 下载 .md | 与编辑区逐字节相同的原文 | 存档、进 Git、发给同事继续改 |
| 下载 .html | 消毒后的正文套上完整网页外壳,自带 charset 与排版样式 | 直接双击用浏览器看,或者上传到自己的站点 |
| 复制富文本 | 剪贴板里同时有渲染结果和源码 | 粘进 Word、飞书、语雀、公众号后台 |
| 打印 / 存 PDF | 浏览器打印对话框里的「另存为 PDF」 | 要一份能发出去的定稿 |
做 markdown 公众号排版的话走「复制富文本」这一条:公众号后台的编辑器不认 Markdown 标记, 直接把源码贴过去只会得到一堆井号和星号;先在这里写完、点「复制富文本」,粘过去就是带标题、 列表和表格的成品。要提醒的是字号、行距、配色由公众号那边的编辑器决定,本页的预览样式不会跟着过去; 正文里的远程图片粘过去后仍指向原图床,公众号一般会提示你转存,转存后才不会掉图。语雀、飞书、 知乎的编辑器同理。
markdown 导出 html 和 markdown 导出 pdf 是两条不同的路:前者本工具直接产出文件,后者交给浏览器的打印功能。 本站不做 PDF 生成,所以分页在哪里断、页边距多少,都由你的浏览器和打印设置决定; 打印时站点头尾、工具栏、编辑区和广告位都不会出现在纸上,只留预览区的正文。要精细控制 PDF 排版,请用我们的姊妹站 PDF在线工具。
Markdown 编辑器和 Markdown 转 HTML 该用哪个
正在写就用本页的 Markdown 编辑器,已经写好、只想拿到网页代码就去 Markdown 转 HTML—— 站内这两页很容易被当成同一个工具,其实目的正好相反。本页是写作台,你在这里做 markdown 写作:有工具栏、快捷键、草稿、大纲和统计,主产物是文章本身。Markdown 转 HTML 是转换器:手上已经有写好的文件,只想拿到网页代码,那边给的是源码框和一键复制。 两页用的是同一个渲染引擎和同一套 GFM 口径,所以在哪一页看到的排版都一致。
同族还有几页各管一件事:Markdown 转 Word 产出 .docx,HTML 转 Markdown 是反方向的转换,Excel 转 Markdown 把表格转成 Markdown 表格语法,在线字数统计 做更细的字数口径,文本对比 比两版稿子改了哪里。本页的统计条用的就是字数统计那一页的口径,两边数出来的字数一致。
Markdown 大纲目录、字数统计与滚动同步怎么算
这三件事都从 Markdown 语法树里算,不靠正则扫源码:大纲取语法树里的标题节点,正文字数递归取纯文本, 滚动同步靠每一块在原文里的真实起始行。所以右侧的 markdown 大纲目录不是靠正则扫「井号开头的行」得来的——那种做法会把代码块里的注释行、 front matter 里的井号一起当成标题。本工具从解析出来的语法树里取标题,所以代码块里写# 开头的注释不会污染大纲。点「插入目录」就能把当前大纲写进光标处, markdown 目录生成一次到位。markdown 标题锚点也在这一步定下来:同名标题自动加数字后缀, 两个都叫「小结」的标题不会互相抢跳转;中文标题的锚点保留中文,不转成拼音也不换成一串数字, 贴到别处仍然看得懂指向哪一节。
统计条同时给两个数:源码字数和正文字数。这两个数天然不同—— 标题的井号、链接里那串很长的网址、整段代码块都会把源码字数顶高,但它们不是你写的正文。 markdown 字数统计的正文口径是从语法树里递归取纯文本:跳过代码块和内嵌 HTML,链接只算显示文字、 不算网址,图片只算说明文字。任务完成度、标题数、链接数、图片数、代码块数也都从语法树里数,不用正则。
举个能自己数一遍的例子。只写这一行:
看 [Markdown 基础语法](https://deertools.example.com/guide/markdown-basics)。
统计条给的是源码 71 字、正文 6 字。71 是这一行的全部字符, 其中光那串网址就占 51 个;6 则是「看」一个字、「基础语法」四个字,外加算作一个英文词的 Markdown—— 方括号、圆括号和网址一个都不算。所以拿源码字数去交一篇有要求字数的稿子会虚高很多, 链接密集的文章尤其离谱;投稿、作业、公众号推文按正文字数看才对得上。 这也是本页同时给两个数、而不是只给一个「字数」的原因。
滚动同步的地基是「每一段来自原文第几行」这个映射。这里有个实测得到的坑:解析器返回的顶层块里不包含引用式链接的定义块,按块长度累加算行号会静默偏移——源码为「一段正文、 一行链接定义、又两段正文」时,最后一段实际在第 7 行,累加法会算成第 5 行。本工具改用游标定位, 在原文里逐块往后找每一块真正的起始位置,所以链接定义、连续空行、开头的 BOM 都不会让行号跑偏。
Markdown 草稿保存到底存在哪里
存在你这台设备的浏览器本地存储里,1 秒防抖写一次,不上传、不同步、没有账号。 这也意味着它有几条硬边界:换设备看不到,换浏览器看不到,清掉浏览器数据就没了, 隐私模式下多半根本存不进去(这时会给你一条提示,不会静默失败)。 所以 markdown 草稿保存只是「防误关页」的保险,不是云盘——重要的稿子请随手下载 .md。
这个 Markdown 编辑器不做的几件事
本工具不做可视化拖拽编辑、不解析数学公式与流程图、不自己生成 PDF、不做云端草稿同步, 也不把图片内嵌进 .md——把边界写在明处,省得你写到一半才发现:
| 这件事 | 实际情况 |
|---|---|
| 直接在渲染结果上打字 | 这是「源码 + 预览」的双栏编辑器,左边写标记、右边看效果,不是 Word 那种编辑方式 |
| 数学公式与流程图 | 不解析,会原样当普通文本显示;既不报错也不猜你想要什么 |
| 脚注、front matter、目录指令 | 同上,属于各家自己的扩展,本工具只认 CommonMark 与 GFM |
| 生成 PDF | 不生成,交给浏览器的打印功能;分页与页边距由浏览器决定 |
| 云端同步草稿 | 没有,因为内容不上传;草稿只在这台设备的浏览器里 |
| 预览样式等于目标平台样式 | 贴到公众号、语雀、知乎之后,字号行距由那边的编辑器决定 |
| 图片上传与内嵌 | 不做 base64 内嵌,请先把图片传到图床再用图片语法引用 |
| 可视化拖拽表格 | 只提供插入空表骨架,单元格还是在源码里改 |
还有一条要说在前面:预览里的远程图片会向图床发一次请求。你写的正文不外发,但「有人在看这张图」 这件事对方服务器是知道的。介意就把「预览里加载远程图片」关掉,关掉后只显示占位框。 这是本页唯一一个由你的内容触发的对外请求,所以我们没有把隐私说明写成一句「什么都不发」。