Excalidraw
Virtual collaborative whiteboard for sketching hand-drawn like diagrams.
Why consider Excalidraw?
Excalidraw is an open-source whiteboard tool with end-to-end encryption, infinite canvas, and hand-drawn styling. It provides instant diagramming and real-time collaboration without registration.
Learn Excalidraw by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide10 sections
What is Excalidraw?
Excalidraw is an open-source virtual collaborative whiteboard that lets users sketch hand-drawn style diagrams, user flows, software architecture schemas, and wireframes. Built as a web application with an embeddable React component library, Excalidraw emphasizes speed, simplicity, and user privacy through end-to-end encrypted live collaboration.
Unlike traditional corporate whiteboard software, Excalidraw stores canvas data locally in browser storage or allows direct export to SVG, PNG, and JSON files without forcing user registration or account creation.
Who Is It For?
- Software Engineers & Architects: Designing distributed system architectures, sequence diagrams, and microservice topologies during planning meetings.
- Product Managers & Designers: Wireframing user onboarding flows and rapid user interface mockups with readable hand-drawn aesthetics.
- Educators & Content Creators: Illustrating technical concepts, data structures, and algorithms for video tutorials, documentation, and blog posts.
Key Features
- Infinite sketchable canvas with customizable stroke styles, fills, and roughness.
- End-to-end encrypted peer-to-peer real-time multi-user collaboration.
- Library of reusable community-contributed components and cloud architecture icons.
- Direct export to vector SVG, high-resolution PNG, and clipboard data.
- Embeddable React component (
@excalidraw/excalidraw) for custom web integration.
Quick Start and React Integration
You can use Excalidraw directly in the browser at https://excalidraw.com or embed it into an existing React project:
npm install @excalidraw/excalidrawHere is a standard React implementation:
import React, { useState } from 'react';import { Excalidraw } from '@excalidraw/excalidraw';export function WhiteboardComponent() { const [excalidrawAPI, setExcalidrawAPI] = useState(null); return ( <div style={{ height: "600px", width: "100%" }}> <Excalidraw excalidrawAPI={(api) => setExcalidrawAPI(api)} initialData={{ elements: [], appState: { viewBackgroundColor: "#ffffff", currentItemFontFamily: 1 } }} /> </div> );}To run the full standalone web application locally with Docker:
docker run -d -p 8080:80 --name excalidraw excalidraw/excalidraw:latestOpen http://localhost:8080 in your browser to access your private whiteboard instance.
Practical Use Cases
1. Sprint Architecture Review
An engineering team shares an end-to-end encrypted session link where developers simultaneously sketch database schema migrations and API gateway routing logic during sprint kickoff.
2. Documentation Diagram Generation
A developer creates architecture diagrams, exports them as SVG files with embedded scene data, and commits them to a Git repository so teammates can re-edit the diagram directly in Excalidraw later.
3. Live Technical Interviewing
A technical interviewer provides a candidate with an instant Excalidraw room link to sketch system components, cache layers, and data flows in real time during a coding interview.
Troubleshooting and Limitations
- Complex Curve Precision: Excalidraw focuses on hand-drawn aesthetics; for pixel-precise CAD drawings or complex Bézier curve editing, a dedicated vector graphics editor like Figma or Inkscape is recommended.
- Collaborative Room Expiration: Transient peer rooms on the public server expire when idle; always export or save local JSON scenes for long-term project persistence.
Official Resources
- Web Application: https://excalidraw.com
- GitHub Repository: https://github.com/excalidraw/excalidraw
- NPM Package: https://www.npmjs.com/package/@excalidraw/excalidraw
Related tools
More options with a similar category or technology profile.
McFly
Fly through your shell history with an intelligent neural network search engine.
cheat
Interactive command-line cheatsheets for system administrators and software engineers.
Pipenv
Python development workflow for humans uniting Pipfile, pip, and virtualenv.
Rye
Comprehensive Python package and workspace management tool written in Rust.