2026 年选免费画图工具,最常被提到的就是 Mermaid 和 draw.io——但它们用完全相反的方式解决问题。Mermaid 是用代码画图:你写文本,它渲染成图。draw.io 是可视化编辑器:你把形状拖到画布上。抽象地说没有谁「更好」,它们适配不同的工作流。
本文拆解这个取舍,帮你选对——并说明一种更新的、AI 原生的方式落在哪里。
TL;DR
- 选 Mermaid,如果你的图属于代码旁边——在 README、文档或技术规格里,且你想让它作为纯文本进版本控制。对宁愿打字也不愿拖拽的开发者来说很完美。
- 选 draw.io,如果你需要精确的可视化控制、自定义形状,或者非技术人员要编辑的图。它是完整的可视化画布,有桌面版、无文档数量限制。
- 两者都免费且开源,所以成本不是决定因素——工作流才是。
- 如果你两者都想要——既要从文本快速生成图、又要能可视化编辑——那个中间地带正是 CodePic 这类 AI 原生工具所在的位置。
Mermaid vs draw.io 速览
| 维度 | Mermaid | draw.io |
|---|---|---|
| 方式 | 代码画图(文本语法) | 可视化拖拽 |
| 最适合 | 文档、README、可版本控制的图 | 像素级精确、自由、自定义布局 |
| 学习曲线 | 学语法 | 学界面 |
| 版本控制 | 极好(纯文本,diff 干净) | 基于文件(XML diff 很乱) |
| 可视化精度 | 仅自动布局(控制有限) | 完全手动控制 |
| 自定义形状 | 形状集有限 | 库非常大(UML、网络、云) |
| 协作 | 通过 Git / 托管平台 | 通过 Google Drive / Confluence |
| 渲染于 | GitHub、GitLab、Notion、Obsidian 等 | 浏览器、桌面版、嵌入 |
| 离线 | 可以(就是文本+渲染器) | 可以(桌面版) |
| AI 生成 | LLM 容易输出 Mermaid | 文本生成、Mermaid/SQL/CSV 导入、官方 MCP Server |
| 价格 | 免费、开源(MIT) | 免费、开源(Apache 2.0) |
代码画图:Mermaid 的强项
Mermaid 的核心理念是:图表应该是可版本控制的文本。你写这样一段:
flowchart TD
A[开始] --> B{已登录?}
B -->|是| C[仪表盘]
B -->|否| D[登录页]
……它就渲染出一张流程图。因为是纯文本,它住在你的仓库里,在 PR 里 diff 干净,并在 GitHub、GitLab、Notion 和大多数文档工具里自动渲染。
这对开发者是真正的杀手锏。 README 里的图永远不会像那种没人更新的独立文件一样过时——它就在代码旁边,改它只是一行编辑。
代价是:你放弃了精确控制。Mermaid 自动布局,所以你没法把一个框往左挪三像素,或让连线绕过某个障碍。对文档来说没问题;对一张要放进客户演示的精致架构图来说,就很憋屈。
可视化编辑:draw.io 的强项
draw.io 是相反的哲学:一个完整的可视化画布,你拖形状、画连线、控制每个像素。它有庞大的形状库(UML、BPMN、网络拓扑、AWS/GCP/Azure)、桌面版,以及深度的 Confluence/Jira 集成。
当你需要像素级精确的图、自定义形状,或一个自动布局会搞砸的布局时,draw.io 是更好的工具。它对非技术人员也友好得多——没有语法要学。
代价是:产物是文件,不是文本。.drawio XML 技术上能在 Git 里 diff,但 diff 不可读,所以它不像 Mermaid 那样适配代码评审流程。而且手工搭图比敲几行 Mermaid 慢。
各自适用场景
- 图住在文档/README、由开发者编辑 → Mermaid
- 需要在 GitHub/GitLab 自动渲染 → Mermaid
- 像素级精确布局或自定义形状 → draw.io
- 非技术人员要编辑 → draw.io
- 大型 UML / 网络 / 云架构图 → draw.io
- 要作为文本进版本控制 → Mermaid
一个好用的经验法则:如果图的「事实源」是你的代码库,用 Mermaid;如果它是独立的产物,用 draw.io。
按图表类型比较
流程图。 文档里的小型决策流程用 Mermaid 更快;标签变长、分支交叉,或者演示需要精确留白与品牌样式时,draw.io 更容易控制。
时序图。 交互过程跟代码一起维护、通过 PR 更新时,Mermaid 很顺手。draw.io 视觉自由度更高,但手动维护生命线和消息,往往比改文本慢。
ER 图。 Mermaid 适合紧凑的数据库结构概览。大型 schema 需要鸦爪标记、手动分组、备注和精细关系路由时,draw.io 更强。
云与网络架构。 draw.io 的形状库和精确位置控制占优。Mermaid 能表达高层服务流,但不能替代带云厂商图标的详细拓扑。
甘特图。 日期跟 Markdown 文档一起维护时,Mermaid 很方便;需要频繁手调、负责人和视觉注释时,应选项目管理工具或可视化编辑器。
同一个项目也可以组合使用:仓库里保留 Mermaid 时序图,正式架构评审使用 draw.io,再从同一篇文档链接两者。关键是为每张图明确事实来源。
事实来源与迁移工作流
draw.io 当前的 Mermaid 导入不只是一次性截图。默认 Diagram 模式会把源码生成 Mermaid 容器中的 draw.io 图形,可以改形状和连接线样式,也能重新打开保存的 Mermaid 源码。但从源码重新生成可能覆盖手工调整的位置,因此必须决定下一次修改由文本还是视觉布局负责。
可靠的交接流程是:
- 在仓库保留原始
.md或.mmd源码。 - 更广受众需要视觉精修时,再导入 draw.io。
- 用明确的新文件名保存
.drawio,并链接回源码。 - 标记其中一版为权威版本,不要默默同时编辑两份。
- 只在重要版本节点重新转换,不要每次小改都来回同步。
如果还在比较付费协作平台,看 Mermaid vs Lucidchart;如果要继续比较免费可视化编辑器,看 draw.io vs Lucidchart。
中间地带:AI 生成 + 可视化编辑
这是两个工具都强加给你的取舍:Mermaid 生成快(尤其现在任何 LLM 都能从提示词输出 Mermaid),但静态、难精修;draw.io 完全可编辑,但手工搭建慢。
一个更新的品类弥合了这个鸿沟。CodePic 让 AI 编码助手生成一张图,并且把结果放到一个可编辑的可视化画布上。通过 MCP 集成,Cursor 或 Claude 能从自然语言提示词生成图——像 Mermaid 一样快——但产物是可重排、可改样式、可导出的可编辑形状,像 draw.io。
所以 2026 年真正的问题不只是「文本还是可视化?」——而是「你想一直手动在 AI 输出和可编辑图之间来回搬,还是让 AI 直接产出可编辑的图?」想试这种工作流的话,CodePic 免费可用。
常见问题
Mermaid 和 draw.io 最主要的区别是什么?
Mermaid 是用代码画图——你写文本它渲染成图,像代码一样进版本控制。draw.io 是可视化编辑器——你拖拽形状、精确控制。Mermaid 适合文档,draw.io 适合独立的可视化图表。
能把 Mermaid 图转成 draw.io 吗?
能。draw.io 可通过 Arrange → Insert → Mermaid 导入源码,在 Mermaid 容器中生成原生图形。你可以重新打开保存的源码并生成,或调整视觉样式;但重新生成可能覆盖手工位置变化。普通 draw.io 图也无法可靠地反向转换成简洁 Mermaid 源码。
小结
Mermaid 和 draw.io 其实不算竞争对手——它们是对不同问题的两种回答。和代码住在一起的文本 → Mermaid。逐像素控制的可视化产物 → draw.io。
而如果你既想要从提示词生成的速度、又想要可视化编辑的自由,那正是 AI 原生画图 要填补的空白。
更多对比参见:
- Mermaid vs Lucidchart(2026):免费代码画图还是付费可视化工具?——如果 Lucidchart 也在你的候选列表里
- Miro vs draw.io(2026):团队白板还是免费专业画图?——如果协作、工作坊或产品规划也重要
- Excalidraw vs draw.io:手绘白板还是技术图表工具?——如果你想要免费工具,但更喜欢手绘风画布
- draw.io vs Lucidchart——如果你在传统可视化画图工具里做选择


