图太多懒得画?PlantUML 用纯文本生成时序、类图、部署图

架构图、时序图、类图、状态机,一个项目里往往要画好几类,用鼠标拖的绘图软件又慢又难改。PlantUML 的思路是「图由文本定义」:你写一段带语法的描述,它渲染成标准图。官方提供在线服务器,贴文本就能出图;更妙的是图随代码走,版本库里 diff 的是文本而非二进制,改起来极快。
它解决什么问题
用拖拽软件画图,改一个节点要挪一堆线,维护成本高。
图以图片文件存着,版本库里无法 diff,改动说不清。
一个项目要画多种 UML 图,切换工具很割裂。
核心能力
| 能力 | 具体能做到什么 |
|---|---|
| 多图类型 | 时序、类图、用例、状态机、组件、部署图等都能用文本生成。 |
| 在线渲染 | 官方服务器贴文本即出图,无需本地装 Java 环境。 |
| 文本即源 | 图的定义是可版本管理的文本,diff 清晰、协作方便。 |
| 可集成 | 有 VS Code 插件、CI 集成,能把图纳入构建流程。 |
| 主题样式 | 支持配色与样式调整,让图更贴合团队规范。 |
| 可自部署 | 开源服务端可部署内网,图数据不出公司网络。 |

它用「领域语言 + Graphviz 布局」把文本变成图
PlantUML 先把自己那套人类友好的描述语法解析成中间模型,再交给 Graphviz(或内置布局器)做自动排版,算出每个节点的坐标与连线的走向,最后渲染成图片。因为布局是自动的,你只管声明「有哪些元素、它们之间什么关系」,不用手动摆位置。这也带来一个好处:同一份文本换个主题或布局,图的整体结构不变,改样式不破坏语义。
使用上要注意:语法有自己的学习曲线,第一次写类图或状态机得查一下关键字;复杂图依赖 Graphviz 的布局算法,偶尔排得不够好看需要微调。它适合「图要跟着代码长期演进」的场景,不适合追求像素级美术排版的宣传图。敏感架构图请走自部署服务端,别把内部拓扑贴到公网实例。
同类工具怎么选
| 工具 | 授权 | 差别在哪 |
|---|---|---|
| SequenceDiagram.org | 免费闭源 | 专画时序图,语法更单一聚焦。 |
| Mermaid | 开源免费 | Markdown 原生支持的文本绘图,适合文档内嵌。 |
| Draw.io | 免费闭源 | 鼠标拖拽式绘图,美术排版更自由但难版本管理。 |
谁适合用
- 需要随代码演进、版本化管理架构图的团队
- 写技术文档、要生成多种 UML 图的开发者
- 做设计评审、用文本快速表达系统结构的人
怎么开始
- 打开 PlantUML 在线服务器页面,在编辑区写描述文本。
- 用关键字声明参与者、类或节点,以及它们之间的关系。
- 点击生成,右侧出现渲染好的图,检查布局是否清晰。
- 调整文本修正结构,图会随之重绘。
- 把文本存进仓库,或导出图片放进文档与评审材料。
常见问题
要不要注册账号?
在线服务器免登录直接用,无需注册账号。
免费额度到哪?
开源项目永久免费,在线渲染与自部署均无功能付费墙。
我写的图定义会被留存吗?
公网实例按链接临时渲染,敏感架构建议用自部署服务端离线生成。
能不能换自建方案?
能。服务端开源,可部署到内网,文本与图均不出本机网络。
授权与合规
PlantUML 以 GPL 开源协议发布,源码在 GitHub 公开,可自部署服务端。 官网:www.plantuml.com/plantuml。
继续找同类资源
这条属于「在线工具」栏目,同栏目还有更多可直接使用的免费资源,可以在 在线工具全部资源 里按需翻阅。
相关资源
同栏目下这几条也常被一起翻到:
↓ 获取资源
点击按钮直接前往资源页面。