DGM.js
An infinite canvas with smart shapes. It supports:
- 💡 Smart shapes (scripting, constraints, extended properties)
- 🔧 Headless components (React)
- 🔥 Infinite canvas
- 📑 Multi-page support
- 👍 Hand-drawn styles
- 👥 Real-time collaboration
- 🎨 Dark mode (adaptive colors)
- 📸 Export to image (PNG, JPEG, WebP, SVG)
- 📕 Export to PDF
- 🔤 Rich text
- 🧑🏻💻 JSON export/import
Getting started
Showcase
- Frame0 - Sketch-style low-fi wireframing tool
- DGM App - Full-featured web-based sketchnotes app
- draw2app - Generate web app from low-fidelity sketch by OpenAI.
Contribution
Please note that this project is not open contribution, so we do not accept any pull requests.
Build
# clone repository
$ git clone https://github.com/dgmjs/dgmjs.git
$ cd dgmjs
# install all dependencies
$ npm install
# build all packages
$ npm run build --workspaces --if-present
# run demo app
$ npm run dev -w demo
License
DGM.js is distributed under the GPLv3 license. If you want non-GPL license, please see our licensing options.