.md 是什么格式文件?.md 文件用什么软件打开?
.md 是 Markdown 语法的纯文本文件,扩展名由 RFC 7763 登记为 .md 与 .markdown。本文说明 .md 的本质、Markdown 与 CommonMark、GFM 的区别,并按阅读、写作、网页、移动端四类场景给出记事本、VS Code、Typora、Obsidian 等软件的具体选择与操作方法,附乱码、编码、文件关联等常见问题解决步骤。
.md 是 Markdown 格式的纯文本文件后缀,文件里只有文字和少量标记符号,任何文本编辑器都能打开,但要看到排版效果则需要专门的渲染器或编辑器。 它既不是压缩包,也不是可执行程序,更不绑定某一个软件——这是理解一切相关问题的起点。下面按“是什么、里面写了什么、用什么打开、遇到问题怎么办”的顺序讲清楚。
一、.md 文件的本质:一个改了后缀的纯文本
1.1 一句话定义
.md 文件是采用 Markdown 语法书写的纯文本文件,.md 是它与 .markdown 并列的标准扩展名。
拆开看有三层含义:纯文本,指内部没有任何字体、颜色、段落间距的二进制格式信息,只有字符;Markdown 语法,指用 #、*、-、[]() 这类符号表达标题、强调、列表和链接;扩展名,指 .md 这个后缀唯一的作用是告诉系统和软件“这是 Markdown 文件”,它本身不携带任何格式数据。
1.2 官方登记的身份
这个格式有正式的登记记录,不是社区口头约定:
媒体类型(MIME):
text/markdown,2014 年 11 月 11 日由 IANA 登记,2016 年 3 月通过 RFC 7763 正式发布文件扩展名:
.md与.markdown,两者等价,.md更常用字符集:登记要求必须声明 charset,实际使用中 UTF-8 是事实标准
魔数:无。也就是说,系统无法通过文件头字节判断它是不是 Markdown,只能靠扩展名
最后一条很重要:没有魔数意味着 .md 文件与 .txt 文件在字节层面完全同构,把 a.md 改名成 a.txt,内容一字不差,只是软件会用另一种方式对待它。
1.3 纯文本带来的直接后果
因为只是文本,所以出现了几个常被误解的现象:
文件极小,一万字通常只有几十 KB
可以在手机、电脑、服务器之间任意传输,不会因为缺少字体或版本不兼容而变形
能被 Git 逐行比对,改动哪一行一目了然
可以被任何程序读写,包括脚本、静态网站生成器、AI 工具
“任何软件都能打开”和“任何软件都能正确显示排版”是两件事,这个区分贯穿全文,也是绝大多数人第一次接触 .md 时困惑的根源。

二、容易混淆的四个概念:Markdown、.md、CommonMark、GFM
很多人把这几样当成同义词,实际它们处在不同层面。理清这一点,后面选软件就不会乱。
2.1 Markdown:语法本身
Markdown 是 2004 年由 John Gruber 与 Aaron Swartz 共同设计的一种轻量级标记语言,目标是让作者用接近纯文本的写法产出可以转换成 HTML 的文档。它最初只有一份说明性文字,并没有严格的语法规范。
2.2 .md:文件后缀
.md 只是一个命名约定,用来标记“这个文件的内容按 Markdown 语法书写”。语法和扩展名不是一回事:你可以把 Markdown 内容存成 .txt,也可以把普通文本存成 .md,软件照样能打开,只是渲染结果不同。
2.3 CommonMark:统一后的规范
早期 Markdown 缺乏明确规范,各家软件实现出现分歧,同一份文档在 GitHub 和本地转换工具里可能显示得不一样。2014 年,CommonMark 项目发布了一份无歧义的语法规范与配套测试集,这份规范至今仍在维护(当前常用版本为 0.31.x)。它解决的是“同样的符号应该渲染成什么”这个问题。
2.4 GFM:GitHub 的方言
GFM(GitHub Flavored Markdown)是在 CommonMark 基础上扩展的方言,增加了表格、任务列表、删除线、自动链接识别等写法。你在 GitHub、Gitee、GitLab 上看到的 .md 渲染结果,基本都是这一套。
| 名称 | 是什么 | 判断依据 |
|---|---|---|
| Markdown | 标记语言,语法体系 | 决定怎么写 |
| .md | 文件扩展名 | 决定文件叫什么 |
| CommonMark | 统一语法规范 | 决定怎么渲染才“标准” |
| GFM | GitHub 扩展方言 | 决定平台上的额外功能 |
实用结论:写 .md 时优先使用 CommonMark 通用语法,只在确定目标平台支持时才用 GFM 扩展,这样文件换到别的软件里不会突然失效。
三、.md 文件里面到底写了什么
打开一个 .md 文件,你看到的是带符号的原文。以一份最常见的说明文档为例,它的源码大致是这样:
# 项目说明 这是一个**示例文档**,用于演示 Markdown 的基本写法。 ## 安装 - 下载安装包 - 解压到任意目录 - 运行主程序 ## 用法 执行命令 `start --help` 查看参数,详见[官方文档](https://www.shenqige.com)。 | 参数 | 说明 | |---|---| | --help | 显示帮助 |
对应的渲染结果是:# 变成一级标题,** 包住的文字变成加粗,- 开头的行变成项目符号,反引号包住的变成行内代码,方括号加圆括号变成可点击链接,竖线围成的结构变成表格。
所以“打开后满屏都是 # 和星号”不是文件坏了,而是你用的软件只做了“打开”,没做“渲染”。 这是最高频的误解,先记住这一条,能省掉大量排查时间。
四、.md 文件用什么软件打开:按需求分四类
没有唯一答案,取决于你要做什么。下面按使用强度从低到高排列,每一类给出可直接上手的选项。
4.1 只想看一眼内容,不编辑
Windows 记事本:系统自带,双击即开,显示的是源码。值得注意的是,微软从 2025 年 5 月 30 日的记事本 11.2504.50.0 版本起加入了原生 Markdown 支持,提供标题、加粗、斜体、链接、简单列表,并可在“格式化视图”和“语法视图”之间切换;此后陆续补充了表格(2025 年 11 月)与删除线、嵌套列表(2026 年 1 月)。Windows 11 用户更新到较新版本后,记事本已经能承担轻量阅读与简单编辑。
浏览器:把 .md 拖进支持渲染的网页工具,或安装 Markdown 预览类浏览器扩展,适合临时查看。
macOS 快速查看:选中文件按空格,显示的是纯文本原文,不是渲染结果。
4.2 想边写边看效果:写作型编辑器
Typora:所见即所得的典型代表,输入符号后即时变成排版样式,界面极简,支持公式、图表、导出多种格式。官方定价 14.99 美元一次性买断,同一许可证最多在 3 台设备上激活,安装后含 15 天全功能试用,国内渠道常见报价约 89 元。适合以写作为主、不想面对双栏预览的人。
Obsidian:以本地文件夹为单位管理笔记,双链与关系图谱是特色。自 2025 年 2 月 20 日起,Obsidian 对所有用途免费,包括商业用途,商业授权改为可选的支持性付费(50 美元/用户/年)。适合需要长期积累、文档数量大的用户。
VS Code:免费,内置 Markdown 预览与语法高亮。按
Ctrl+Shift+V打开预览,按Ctrl+K V打开侧边对照预览。适合已经在写代码、不想再装第二个编辑器的人。**Notepad++**:免费轻量,打开速度极快,但没有内置渲染预览,适合查看和批量文本处理,不适合排版写作。
Sublime Text:启动快、插件生态成熟,需要自行安装 Markdown 预览插件。
4.3 只在网页上看:平台自动渲染
GitHub、GitLab、Gitee:仓库中的 .md 文件自动渲染,README.md 会直接显示在项目首页
语雀、Notion、飞书文档:支持导入 .md,导入后转为在线文档
技术社区:掘金、CSDN、简书等编辑器普遍支持 Markdown 语法直接粘贴
4.4 手机和平板上
Obsidian 移动端:与桌面端共用同一个本地仓库,免费
iA Writer:iOS/iPadOS 与 macOS 上口碑较好的写作工具,付费
手机自带备忘录:多数只能显示源码,或需要借助第三方应用打开
综合对照如下:
| 软件 | 平台 | 费用 | 实时渲染 |
|---|---|---|---|
| 记事本(新版) | Windows 11 | 免费 | 支持基础格式 |
| VS Code | 全平台 | 免费 | 支持,需手动开预览 |
| Typora | 全平台 | 14.99 美元买断 | 支持,所见即所得 |
| Obsidian | 全平台 | 免费 | 支持 |
| Notepad++ | Windows | 免费 | 不支持 |
| GitHub 网页 | 浏览器 | 免费 | 支持 |
如果只推荐一个通用答案:日常写作选 Typora 或 Obsidian,已经写代码选 VS Code,临时看一眼用新版记事本。 这三条覆盖了九成以上的实际需求。
五、不同场景下的选择路径
把选择简化成四个判断,比记软件名单更实用。
只是别人发来一个 .md,你要读内容:双击用记事本或 VS Code 打开,在意排版就按
Ctrl+Shift+V预览,不必安装新软件。你要长期写文档、做笔记:选 Obsidian 或 Typora,前者重管理,后者重写作体验。
文档要跟着代码一起进仓库:直接用 VS Code,提交前确认渲染正常。
文档要发给不用 Markdown 的同事:不要发 .md,导出成 PDF 或 DOCX 再发。
判断标准只有一条:接收方能不能打开并看懂。格式选择服务于这个目标,而不是反过来。
六、Word 和 WPS 能不能直接打开 .md
这是提问量最大的一个问题,答案要分清两种情况。
.md 文件 Word 能“打开”,但不能“渲染”。 Word 会把它按纯文本读入,#、**、| 全部原样显示,标题不会变成标题,表格不会变成表格。WPS 情况类似,直接双击通常得到的是源码文本。
想要在 Word 里看到正常排版,必须先转换格式。常用做法有两种:
用 Typora 导出:打开文件后选择“导出 → Word (.docx)”,适合单篇、注重排版的场景
用 Pandoc 命令行转换:
pandoc input.md -o output.docx,适合批量处理,可配合脚本一次转几十个文件在线转换工具:把文件上传后选择输出格式,适合临时应急,涉及内部资料时需注意上传风险
反过来也成立:Word 文档另存为 .md 会丢失大部分格式,复杂表格、图片位置、页眉页脚、批注基本无法保留。两种格式的底层模型不同,转换是有损的,重要文档转换后要人工核对一遍。
七、打开 .md 时最常见的四个问题
7.1 满屏 # 和 **,是不是乱码
不是。这是未渲染的正常源码。换用带预览功能的软件,或在 VS Code 中按 Ctrl+Shift+V,即可看到排版结果。
7.2 中文变成问号或方块
这是编码不一致,不是文件损坏。Markdown 惯例使用 UTF-8,但部分旧软件默认存成 GBK 或 ANSI,读取端按 UTF-8 解码就会出现乱码。
修复方式:在 VS Code 中点击右下角编码标识,选择“通过编码重新打开”,指定为 GBK;文字恢复正常后,再次点击编码,选择“通过编码保存”,另存为 UTF-8。不要手动重打乱码字符,底层字节其实是对的。
7.3 双击没反应,图标是一片空白
因为系统没有把 .md 关联到任何程序。Windows 下右键文件,选择“打开方式 → 选择其他应用”,指定记事本或 VS Code,并勾选“始终使用此应用打开 .md 文件”,之后双击即可正常打开。
7.4 文件明明叫 notes.md,打开却是记事本
很可能是 Windows 默认隐藏了已知扩展名,真实文件名是 notes.md.txt。在文件资源管理器的“查看”菜单中勾选“文件扩展名”,即可看到真实后缀并改正。
八、.md 被大量采用的实际原因
不谈趋势,只谈已经发生的使用事实。
跨平台无损耗:同一份文件在 Windows、macOS、Linux、手机上内容完全一致,不依赖字体和软件版本
版本控制友好:纯文本可逐行比对,谁改了哪句话、什么时候改的都留痕
与代码同仓共存:项目说明、接口文档、更新日志可以直接放在代码目录里,随代码一起提交和审查
写作时注意力集中:标记符号只占几个字符,不用在工具栏里找加粗按钮
工具链宽:可转成 HTML、PDF、DOCX、幻灯片,静态网站生成器、笔记软件、AI 写作工具普遍支持读写
它的局限同样明确:不适合精细排版,做不了复杂图文混排、多栏布局和印刷级设计;协作体验弱于在线文档,多人同时编辑需要借助 Git 或在线平台;表格与图表能力靠扩展,原生只有简单表格。
九、常见问题解答
Q1:.md 文件是病毒或可执行程序吗?
A:不是。它是纯文本,本身无法执行任何代码,双击打开不会运行程序。风险只出现在一种情况:从不可信来源下载后,用带宏或脚本功能的软件打开并启用相关功能。正常阅读没有任何风险。
Q2:.md 和 .txt 有什么区别?
A:字节层面几乎没有区别,都可以互相改名。区别在于约定和对待方式:.txt 被视为无格式纯文本,.md 会被支持的软件按 Markdown 语法渲染。用记事本打开两者,看到的东西一模一样。
Q3:手机上怎么打开 .md 文件?
A:安装 Obsidian 或 iA Writer,在应用内打开文件即可获得渲染效果。安卓也可用支持 Markdown 的文本编辑器。直接用系统备忘录打开通常只能看到源码。
Q4:用记事本编辑 .md 会不会破坏文件?
A:不会破坏语法,但要注意两点。一是保存时选择 UTF-8 编码,否则中文可能变乱码;二是记事本不会自动补全格式,符号需要自己敲。内容本身不会因为编辑器简陋而损坏。
Q5:.md 和 .markdown 是两种格式吗?
A:是同一种格式的两个扩展名,RFC 7763 同时登记了两者。内容、语法、渲染方式完全一致,只是 .md 更短更常用。
Q6:.md 文件能直接打印或做演示吗?
A:不能直接打印成排版稿,需要先转成 PDF。做演示可以借助 Marp、Reveal.js 这类把 Markdown 转成幻灯片的工具,但它们属于额外工具链,不是 .md 的固有能力。
Q7:收到 .md 文件,但对方说要“看格式”,我该怎么办?
A:让对方导出 PDF 或 DOCX,或者你自己用 Typora、VS Code 打开后另存为 PDF 回传。跨格式沟通时,发送方可读的版本比坚持原始格式更重要。
Q8:为什么程序员的技术文档几乎都是 .md?
A:因为它在代码仓库里可直接渲染,改动可被版本控制记录,且不需要专门的排版软件即可编写和审阅。这是工作流适配的结果,不是格式优劣的判断。
十、结论
.md 是 Markdown 语法的纯文本载体,.md 只是后缀,核心特征是“纯文本 + 轻量标记”。 它没有专用打开软件,任何文本编辑器都能读,能否看到排版取决于软件是否具备渲染能力。
选择工具的判断可以压缩成三句话:读一份文件,用记事本或 VS Code;长期写作,用 Typora 或 Obsidian;发给他人都能看,导出 PDF 或 DOCX。 遇到满屏符号不要慌,那只是没渲染;遇到中文乱码不要重打,那只是编码不对。
理解“源码”和“渲染结果”这一层区别,.md 的所有疑问基本都能自己解决。

