Markdown 编辑器,免费

编写 Markdown,实时查看 HTML 预览。

没有数据离开您的设备
Markdown 输入
HTML 预览
0
字数
0
字符数
0
行数

使用方法

  1. 在左侧面板输入或粘贴 Markdown 文本。右侧面板显示实时 HTML 预览。
  2. 使用工具栏按钮快速插入格式(粗体、斜体、标题、链接等)。
  3. 在编辑器下方查看字数、字符数和行数
  4. 下载您的 Markdown 为 .md 文件,或复制 HTML 输出

常见问题

此编辑器支持标准 Markdown 语法吗?

支持。它支持标题、粗体、斜体、链接、图片、代码块、列表、引用和水平线。简化的 Markdown 解析器会实时渲染 HTML。

可以保存我的工作吗?

编辑时,编辑器会自动将文本保存到浏览器存储中。使用下载 .md将其保存为本地文件。

如何插入链接或图片?

使用工具栏按钮。链接使用 [文本](url)。图片使用 ![alt](url)。预览会立即更新。

Markdown简史

Markdown由John Gruber于2004年3月创建,他是Daring Fireball博客背后的作家,与Aaron Swartz(这位多才多艺的人后来共同创立了Reddit,并共同撰写了RSS 1.0规范)有重要合作。其设计目标(写入原始语法页面)是「使其尽可能可读」。Gruber希望创建一种可以原样发布的纯文本格式,在终端或纯文本编辑器中无需任何渲染就能看起来自然。该格式规范化了人们在纯文本电子邮件和Usenet帖子中已经在做的事情:*asterisks for emphasis*> for quoted text,段落之间用空行分隔。

名称是对「标记语言」的文字游戏,Markdown如此轻量,以至于它是「向下标记」而非向上标记。使它与HTML在哲学上区分开来的核心:HTML的源代码是为机器准备的,Markdown的源代码是为人类准备的。一个.md文件无需渲染就应该在终端中读起来非常舒适。

Gruber最初的语法页面留下了许多边缘情况的歧义,在2000年代末期,每个需要Markdown解析器的项目都编写了自己的,对未指定的部分做出了不同的决定。到2010年代初期,同一个.md文件在Reddit、GitHub、Stack Overflow和Jekyll博客上的渲染效果明显不同。2014年,一个工作组(包括Jeff Atwood(Stack Overflow、Discourse)、John MacFarlane(Pandoc)以及来自GitHub、Reddit和Meteor的工程师)制定了严格的规范,最初称为「Standard Markdown」,在Gruber提出异议后更名为CommonMark。CommonMark发布了人类可读的文档和包含600多个边缘案例测试的机器可读测试套件;当前版本为0.31.2(2024年1月)。GitHub、GitLab、Reddit、Stack Overflow、Discourse和数十种编程语言现在都声称符合该规范。

常用语法

这是几乎所有Markdown风格中都能使用的语法,也是本编辑器支持的实用基准。

您想要的效果书写方式
标题# H1###### H6
粗体/斜体**bold** · *italic* · ***both***
内联代码`code`
代码块用三个反引号围栏;可选语言标签用于语法高亮
无序列表- item(或 *+
有序列表1. first:实际数字通常无关紧要
链接[text](https://example.com)
图像![alt text](image.jpg):替代文本对无障碍性很重要
引用块> quoted text
水平线---,单独一行

两个常见陷阱:单个换行不会创建换行符:您需要一个空行来开始新段落,或在换行前加两个尾随空格(或在GFM中加反斜杠)来在段落内强制换行。Markdown是HTML的超集:任何内联HTML标签都会传递到渲染输出,这偶尔有用,偶尔也是安全风险。

GitHub Flavored Markdown和其他风格

GFM是GitHub的CommonMark超集。它添加了表格(使用连字符分隔行的管道分隔行)、任务列表项(- [ ]未选中,- [x]已选中)、删除线(~~text~~)、自动URL检测,以及会过滤危险标签的「disallowed raw HTML」过滤器。GitHub本身还渲染一些规范外的扩展:emoji简写(:tada:)、@mentions、#123议题自动链接、提醒标注(> [!NOTE])、可折叠的<details>节,但这些是GitHub渲染特性,而非GFM规范的一部分。

您会遇到的其他风格:

Markdown的使用场景

几乎在开发人员写作文本的每个地方:

Markdown还是已注册的IETF媒体类型(text/markdown,RFC 7763,2016年3月),带有variant参数(GFMCommonMarkMultiMarkdown等),以便接收方知道应用哪种风格。常见文件扩展名:.md是目前最流行的,另外还有.markdown.mdown.mkdn.mkd

关于本编辑器解析器的说明

本页面使用简化的Markdown解析器,涵盖上述常用子集:标题、粗体和斜体、链接、图像、围栏代码、列表、引用块和水平线。它不是完整的CommonMark或GFM实现,可能无法处理所有边缘情况(带混合项目符号的深层嵌套列表、延迟行延续、跨文档的链接引用定义)。对于要求严格CommonMark一致性的场景,像marked.jsmarkdown-itcommonmark.js这样的专用解析器才是正确选择,对于不可信Markdown的生产环境渲染,请将解析器输出通过DOMPurify等净化器处理,以防止通过内联HTML导致XSS。

适合使用的场景

更多问题

为何单个换行不会创建新行?

出于设计目的。Markdown将单个换行符折叠为连续段落,因为该格式在纯文本中意在看起来自然,读者在其编辑器中以任意宽度换行而不影响渲染输出。要在段落内强制换行,请在行末加两个尾随空格(原始Markdown惯例),或在GFM中加反斜杠。要创建新段落,请在两者之间留一个空行。

可以在Markdown中使用HTML吗?

可以,Markdown是HTML的超集。内联标签如<span><a><sub><sup>会传递到渲染输出,其中的Markdown语法仍然被识别。块级HTML(<div><table>)需要与周围的Markdown之间用空行分隔,并且块内的Markdown不会被处理。对于Markdown无法原生表达的内容可以使用它:图像尺寸(<img width="…">)、键盘按键(<kbd>)或可折叠节(<details>)。

表格、脚注和任务列表怎么样?

三者都是GFM扩展,不属于原始Markdown规范。表格使用带连字符分隔行的管道分隔行;本页面的简化解析器可能将其渲染为纯文本。脚注([^1]引用和[^1]: definition定义)是GFM规范之外的GitHub渲染特性。任务列表(- [ ]- [x])在GFM中。要完整支持这些功能,请将文件粘贴到GitHub预览本身等CommonMark+GFM兼容的渲染器中。

为何图像需要替代文本?

因为替代文本是屏幕阅读器遇到图像时所宣读的内容,它是视障读者的主要无障碍性钩子。![image1.png](url)在技术上是有效的Markdown,但对屏幕阅读器毫无用处;![Annual revenue chart, 2020 to 2025](url)才是真正具有描述性的。跳过替代文本或用文件名填充它是Web内容中最常见的无障碍性失误之一。

有任何内容会发送到服务器吗?

不会。编辑器在浏览器中将Markdown解析为HTML,实时预览在本地更新,自动保存使用您浏览器的localStorage:这是您设备上的小型私密存储。没有任何内容离开页面。编辑器加载后可离线工作。

相关工具

Markdown → HTML 转换器,免费 免费 Markdown 在线预览器 Markdown 表格生成器,免费