Markdown 转 HTML
Markdown 转 HTML,是指把 .md 文本里的 # 标题、列表、表格这类标记语法,渲染成浏览器能直接显示的 HTML 代码。粘贴 Markdown 或拖入 .md 文件,预览随输入实时更新,同时给出可复制的 HTML 源码:默认按 GFM 渲染表格、围栏代码块、任务列表、删除线与自动链接,可勾选把单换行转成 <br>,也能导出带 charset 与基础排版样式的完整 .html 网页,双击就能用浏览器打开。输出统一经 DOMPurify 消毒,页面会提示移除了多少处脚本类内容。全程浏览器本地渲染、内容不上传,免费不注册。
🔒 渲染在你的浏览器内完成,内容不上传;输出 HTML 已用 DOMPurify 消毒,预览在沙箱中运行。
如何使用Markdown 转 HTML
把 Markdown 粘贴进输入框,或拖入 .md / .markdown / .txt 文件(读取和渲染都在浏览器本地完成,内容不上传)。拖入文件时,文档标题会自动取文件名。
按需调三个开关:GFM(默认开启,管表格、任务列表、删除线、自动链接)、单换行转 <br>(默认关闭,勾上才会把回车当断行)、导出完整 HTML 文档(勾选后可再填文档标题、决定是否内联基础排版样式)。
看右侧预览确认效果,再点「复制」拿走 HTML 源码,或点「下载 .html」保存文件。源码栏会显示当前字符数,出现橙色提示说明有不安全内容已被移除。
关于Markdown 转 HTML的常见问题
- Markdown 转 HTML 会把我的内容上传服务器吗?
- 不会。渲染由浏览器里的 JavaScript 在你的设备上完成,Markdown 原文和转出的 HTML 都不会发往任何服务器,也不写入本地存储,关闭或刷新页面即清除。所以内部文档、还没发布的文章、含客户信息的笔记都可以放心贴进来。想自己验证:按 F12 打开开发者工具的「网络」面板,再改几个字看看,整个过程不会出现上传请求。
- 怎么把 Markdown 转成完整的 HTML 网页文件?
- 勾选「导出完整 HTML 文档」,填一个文档标题,再点「下载 .html」即可。导出的文件带 <!doctype html>、UTF-8 charset 声明和 viewport,默认还内联一份基础排版样式(正文宽度 820px、行高 1.7、代码块灰底、表格带边框),双击就能用浏览器正常打开、直接发给别人看。不勾选时导出的是纯 body 片段,没有 <head> 和样式,适合贴进已有页面。
- Markdown 转 HTML 支持表格和代码块吗(GFM)?
- 支持,GFM 默认开着,表格、围栏代码块(```)、任务列表、删除线和自动链接都能正确渲染。表格要注意一点:表头下面那行 |---|---| 是必需的,少了这行 GFM 不认,整块会被当成普通段落输出。代码块渲染成 <pre><code>,本工具不做语法高亮着色,需要彩色高亮就在自己的页面里接 highlight.js 之类的库。需要严格的标准 Markdown 行为时,把 GFM 关掉即可。
- Markdown 转 HTML 后换行没了、段落被合并怎么办?
- 勾上「单换行转 <br>」就行。这是 Markdown 的原始规则,不是渲染出错:单个回车只算普通空白,「今天下雨」后按一次回车再写「记得带伞」,两句会合进同一个 <p>,要空一整行才算分段。从微信、记事本、需求文档里粘贴过来的文本最容易踩这个坑——它们靠单换行排版,转出来就黏成一大段。勾选后每个单换行渲染成一个 <br>,原样保留断行;正式文章仍建议用空行分段,语义更清楚。
- Markdown 转 HTML 时写的 script 脚本会保留吗?
- 不会保留可执行内容。Markdown 里允许直接写 HTML,渲染后的结果统一交给 DOMPurify 消毒:普通标签(div、span、img、table 等)留下,<script>、onclick / onerror 这类事件属性、javascript: 链接会被删掉,页面顶部会提示移除了多少处。举例,写 <img src=x onerror=alert(1)> 会得到一个干净的 <img src="x">,onerror 被剥掉、计 1 处。预览用的 iframe 还加了 sandbox="" 空白沙箱,不执行任何脚本。这样做是为了防 XSS,如果你就是要在页面里放脚本,请在拿到 HTML 源码后自己补上。
- Markdown 转 HTML 后中文和 emoji 乱码怎么解决?
- 用本页导出的完整 HTML 文档不会乱码——文件头写死了 <meta charset="utf-8">,中文、日文、emoji 都按 UTF-8 存和读。乱码通常出在两种情况:一是只复制了 body 片段贴进别人的老页面,而那个页面声明的是 GBK;二是用某些编辑器另存 .html 时改成了 GBK/ANSI 编码。对策是让页面的 charset 声明和文件实际编码保持一致,都用 UTF-8 最省事。
- Markdown 转出的 HTML 代码怎么贴进博客或已有网页?
- 取消勾选「导出完整 HTML 文档」,复制出来的就是纯 body 片段,粘到文章编辑器的「HTML 源码」模式或模板文件里即可,样式跟着你自己网站的 CSS 走。要保留本页那套排版效果,就勾选完整文档 + 内联基础排版样式,再把 <style> 块单独拷进去。还有一个容易忽略的点:Markdown 里  这种相对路径转成 HTML 后仍是相对路径,换个目录或发给别人就会裂图,图片要么改成完整网址,要么先转成 base64 内联。
- 手机上怎么把 Markdown 转成 HTML 并复制代码?
- 用手机浏览器(iOS Safari、安卓 Chrome、微信内置浏览器等)打开本页,直接粘贴 Markdown 或点选择文件挑出 .md,渲染同样在手机本地完成,不用装编辑器 App。复制按钮走的是系统剪贴板,微信内置浏览器等环境偶尔会拦截,这时长按源码区手动选中复制即可;下载 .html 会存进手机的「下载」目录,用文件管理器打开可选浏览器查看。
- Markdown 转 HTML 支持数学公式和 mermaid 流程图吗?
- 不支持渲染成图形,这是本工具的边界。$E=mc^2$ 这类 LaTeX 公式会原样输出成文本,```mermaid 代码块会被当成普通代码块包进 <pre><code>——它们要靠 KaTeX、MathJax、mermaid.js 在浏览器里二次渲染,本页不加载这些库。需要公式和流程图的,把转好的 HTML 放进自己的页面后再引入对应的库;只是想留个占位,当前输出已经把原始内容完整保住,不会丢字符。
Markdown 转 HTML 导出片段还是完整文档怎么选
一句话判断:转出来的 HTML 要贴进别的页面就选片段,要单独打开或发给别人就选完整文档。「导出完整 HTML 文档」这个开关只影响复制和下载的源码,右侧预览始终按完整文档带样式渲染,所以预览好看、贴到自己站上却没样式, 多半就是这里没勾。
| 对比项 | 不勾选(body 片段) | 勾选「导出完整 HTML 文档」 |
|---|---|---|
| 输出内容 | 只有 <h1><p><table> 等标签 | 完整 <!doctype html> + <head> + <body> |
| charset 声明 | 没有,跟随宿主页面 | 固定 <meta charset="utf-8">,中文不乱码 |
| 排版样式 | 无,由你的网站 CSS 决定 | 可内联一份基础样式,也可关掉只留结构 |
| 文档标题 | 不适用 | 可自填,拖入文件时自动取文件名 |
| 典型用途 | 贴进博客编辑器、模板、邮件正文 | 双击本地打开、直接发给同事、传静态服务器 |
Markdown 转 HTML 效果不对时先排查这几处
渲染结果和预期不符,绝大多数落在三件事上:换行规则、GFM 语法写法、被消毒掉的内容。前两个是 Markdown 自身的规则问题,最后一个是本工具刻意为之的安全处理。
相关工具:反过来把网页代码整理成 md,用 HTML 转 Markdown;要交付成能直接编辑的文稿,用 Markdown 转 Word;手里是 .docx 想拿到网页代码,用 Word 转 HTML。