This is a fork from the excalidraw project with changes inspired and partly taken from Kilian Decaderincourt to enable support for rooms without using firebase.
Please copy the .env.development.default or .env.production.default file to .env (or with environment without default at the end) and change it according to your needs, see react-scripts.
docker-compose up -d
docker-compose exec excalidraw yarn install
docker-compose exec excalidraw yarn start
Hint: Collab mode requires a secure context (https). Localhost works as well, but not http over local network.
Command | Description |
---|---|
yarn |
Install the dependencies |
yarn start |
Run the project |
yarn fix |
Reformat all files with Prettier |
yarn test |
Run tests |
yarn test:update |
Update test snapshots |
yarn test:code |
Test for formatting with Prettier |
docker-compose -f docker-compose-prod.yml up -d
The excalidraw logo in this repo – created by Verry – is licenced under CC BY 3.0 Unported.
The Excalidraw editor (npm package) supports:
- 💯 Free & open-source.
- 🎨 Infinite, canvas-based whiteboard.
- ✍️ Hand-drawn like style.
- 🌓 Dark mode.
- 🏗️ Customizable.
- 📷 Image support.
- 😀 Shape libraries support.
- 👅 Localization (i18n) support.
- 🖼️ Export to PNG, SVG & clipboard.
- 💾 Open format - export drawings as an
.excalidraw
json file. - ⚒️ Wide range of tools - rectangle, circle, diamond, arrow, line, free-draw, eraser...
- ➡️ Arrow-binding & labeled arrows.
- 🔙 Undo / Redo.
- 🔍 Zoom and panning support.
The app hosted at excalidraw.com is a minimal showcase of what you can build with Excalidraw. Its source code is part of this repository as well, and the app features:
- 📡 PWA support (works offline).
- 🤼 Real-time collaboration.
- 🔒 End-to-end encryption.
- 💾 Local-first support (autosaves to the browser).
- 🔗 Shareable links (export to a readonly link you can share with others).
We'll be adding these features as drop-in plugins for the npm package in the future.
Note: following instructions are for installing the Excalidraw npm package when integrating Excalidraw into your own app. To run the repository locally for development, please refer to our Development Guide.
npm install react react-dom @excalidraw/excalidraw
or via yarn
yarn add react react-dom @excalidraw/excalidraw
Check out our documentation for more details!
- Missing something or found a bug? Report here.
- Want to contribute? Check out our contribution guide or let us know on Discord.
- Want to help with translations? See the translation guide.
Google Cloud • Meta • CodeSandbox • Obsidian Excalidraw • Replit • Slite • Notion • HackerRank • and many others
If you like the project, you can become a sponsor at Open Collective or use Excalidraw+.
Last but not least, we're thankful to these companies for offering their services for free:
You can integrate Excalidraw into your app by installing our npm component.
Visit our documentation on https://docs.excalidraw.com.
Google Cloud • Meta • CodeSandbox • Obsidian Excalidraw • Replit • Slite • Notion • HackerRank