excalidraw

    excalidraw/excalidraw

    #303 this week

    Virtual whiteboard for sketching hand-drawn like diagrams

    web
    canvas
    collaboration
    diagrams
    drawing
    hacktoberfest
    TypeScript
    MIT
    131.3K stars
    15.2K forks
    131.3K GitHub watchers
    Updated 9/7/2026
    View on GitHub

    Build with Backblaze B2

    SDKs, agent skills, IDE extensions, and reference pipelines from Backblaze Labs. All open source.

    Explore Backblaze Labs

    Loading star history...

    Use Cases & Benefits

    • Provides a virtual whiteboard for creating hand-drawn style diagrams and sketches with collaborative and encrypted features.
    • Enables real-time collaboration with end-to-end encryption and offline support, ensuring privacy and seamless teamwork.
    • Use for brainstorming sessions where teams need to sketch ideas together remotely with secure, live updates.
    • Use for creating wireframes and UI mockups in a hand-drawn style to quickly visualize design concepts.
    • Use for educators to illustrate concepts interactively during online classes with an easy-to-use drawing interface.

    About excalidraw

    Excalidraw

    Excalidraw Editor | Blog | Documentation | Excalidraw+

    An open source virtual hand-drawn style whiteboard.
    Collaborative and end-to-end encrypted.


    Excalidraw is released under the MIT license. npm downloads/month PRs welcome! Chat on Discord Ask DeepWiki Follow Excalidraw on Twitter

    Product showcase

    Create beautiful hand-drawn like diagrams, wireframes, or whatever you like.

    Features

    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.

    Excalidraw.com

    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.

    Quick start

    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.

    Use npm or yarn to install the package.

    npm install react react-dom @excalidraw/excalidraw
    # or
    yarn add react react-dom @excalidraw/excalidraw
    

    Check out our documentation for more details!

    Contributing

    Integrations

    Who's integrating Excalidraw

    Google CloudMetaCodeSandboxObsidian ExcalidrawReplitSliteNotionHackerRank • and many others

    Sponsors & support

    If you like the project, you can become a sponsor at Open Collective or use Excalidraw+.

    Thank you for supporting Excalidraw

    Last but not least, we're thankful to these companies for offering their services for free:

    Vercel Sentry Crowdin

    Discover Repositories

    Search across tracked repositories by name or description