Drawnix is a free, MIT-licensed, all-in-one open-source whiteboard tool written in TypeScript that combines mind mapping, flowcharts, and freehand drawing on a single infinite canvas, built for individuals and teams who want a self-hostable or browser-based alternative to commercial whiteboard SaaS.
What it is
Drawnix is a whiteboard application, not a library or a component kit. It lives in the TypeScript and React ecosystem and sits on top of Plait, an open-source drawing framework originally developed by the same company and described in the README as a significant technical output of its knowledge-base product, PingCode Wiki. The application is split into apps/web for the drawnix.com front end, packages/drawnix for the whiteboard application, plus react-board and react-text for the React view and text rendering layers. Supporting dependencies include Slate for rich text editing and floating-ui for popover and overlay primitives.
The concrete problem it solves is fragmentation in diagramming. Mind mapping, flowcharting, and freehand sketching usually require separate tools with separate file formats and separate export paths. Drawnix puts all three modes on one infinite canvas and exports a single artifact: PNG for sharing, or JSON with the .drawnix extension for round-tripping. The README states it is free and open source, and the project describes itself as an out-of-the-box, open-source, free tool product, which is the position it takes against paid whiteboard SaaS offerings.
Key capabilities
- Combined mind map, flowchart, and freehand brush modes on one infinite canvas with zoom and scroll.
- Conversion of Mermaid syntax into flowcharts, and conversion of Markdown text into mind maps.
- Export to PNG and to JSON in the
.drawnix format.
- Automatic saving to browser cache, with no server persistence step documented in the README.
- Standard editing operations including undo, redo, copy, and paste.
- Plugin architecture built on the Plait framework, supporting multiple UI frameworks such as Angular and React, and rich text integration currently limited to Slate.
- Image insertion, theme modes, and mobile device adaptation.
Who uses it and how
- Product and engineering teams that already keep knowledge in PingCode Wiki and want diagrams produced by the same underlying drawing framework.
- Writers and planners who draft outlines as Markdown and convert them into mind maps rather than drawing nodes by hand.
- Developers who want the whiteboard embedded rather than visited, pulling in
packages/drawnix, react-board, and react-text as a React view layer.
- Self-hosters who pull the published container and run the whiteboard inside their own environment.
- Mobile users, since the README explicitly covers adaptation for mobile devices.
Getting started
For development, install dependencies with npm install and start the app with npm run start. For container deployment, run docker pull pubuzhixing/drawnix:latest; a hosted minimal application is also available at drawnix.com.
How it compares
No list of paid products this project replaces is provided in the facts, and no comparable whiteboard tools are named, so Drawnix stands alone in this registry. The only relationship the facts establish is vertical rather than competitive: Drawnix is an application built on the Plait drawing framework, which remains separately open source.
When to use it — and when not to
A self-hoster should note that the README documents no database, object storage, SMTP, or server-side persistence layer; the only storage described is automatic saving to browser cache, and the repository exposes a single Docker image rather than a compose file with backing services. The README also lists no real-time multi-user editing, so teams that need concurrent collaborative sessions with durable server-side history should not pick it on the strength of the collaboration topic tag alone. The project is also explicitly pre-Dawn (破晓): the README calls drawnix.com a minimized application and states it will be iterated frequently until that version ships, and the primary documentation is Chinese with a linked English README.
project readme (upstream, from github) — read inline

开源白板工具(SaaS),一体化白板,包含思维导图、流程图、自由画等
All in one 白板,思维导图、流程图、自由画等


English README
特性
- 💯 免费 + 开源
- ⚒️ 思维导图、流程图
- 🖌 画笔
- 😀 插入图片
- 🚀 基于插件机制
- 🖼️ 📃 导出为 PNG, JSON(
.drawnix)
- 💾 自动保存(浏览器缓存)
- ⚡ 编辑特性:撤销、重做、复制、粘贴等
- 🌌 无限画布:缩放、滚动
- 🎨 主题模式
- 📱 移动设备适配
- 📈 支持 mermaid 语法转流程图
- ✨ 支持 markdown 文本转思维导图(新支持 🔥🔥🔥)
关于名称
Drawnix ,源于绘画( Draw )与凤凰( Phoenix )的灵感交织。
凤凰象征着生生不息的创造力,而 Draw 代表着人类最原始的表达方式。在这里,每一次创作都是一次艺术的涅槃,每一笔绘画都是灵感的重生。
创意如同凤凰,浴火方能重生,而 Drawnix 要做技术与创意之火的守护者。
Draw Beyond, Rise Above.
与 Plait 画图框架
Drawnix 的定位是一个开箱即用、开源、免费的工具产品,它的底层是 Plait 框架,Plait 是我司开源的一款画图框架,代表着公司在知识库产品(PingCode Wiki)上的重要技术沉淀。
Drawnix 是插件架构,与前面说到开源工具比技术架构更复杂一些,但是插件架构也有优势,比如能够支持多种 UI 框架(Angular、React),能够集成不同富文本框架(当前仅支持 Slate 框架),在开发上可以很好的实现业务的分层,开发各种细粒度的可复用插件,可以扩展更多的画板的应用场景。
仓储结构
drawnix/
├── apps/
│ ├── web # drawnix.com
│ │ └── index.html # HTML
├── dist/ # 构建产物
├── packages/
│ └── drawnix/ # 白板应用
│ └── react-board/ # 白板 React 视图层
│ └── react-text/ # 文本渲染模块
├── package.json
├── ...
└── README.md
└── README_en.md
应用
https://drawnix.com 是 drawnix 的最小化应用。
近期会高频迭代 drawnix.com,直到发布 Dawn(破晓) 版本。
开发
npm install
npm run start
Docker
docker pull pubuzhixing/drawnix:latest
依赖
贡献
欢迎任何形式的贡献:
提交 Issue 或 Pull Request 前,请先阅读 贡献指南。
感谢支持
特别感谢公司对开源项目的大力支持,也感谢为本项目贡献代码、提供建议的朋友。
License
MIT License