Virtual whiteboard for sketching hand-drawn like diagrams
Find a file
2025-03-25 23:57:23 +06:00
.codesandbox chore: update required node version to 18 (#6837) 2023-07-31 23:47:41 +02:00
.github fix: usage of node12 which is deprecated (#8791) 2024-11-11 12:05:55 +01:00
.husky build: temporarily disable pre-commit (#6132) 2023-01-19 13:50:42 +01:00
dev-docs docs: Fix table rendering and broken links in Props page (#9293) 2025-03-25 14:32:15 +01:00
examples refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
excalidraw-app chore: Use isDevEnv() and isTestEnv() (#9264) 2025-03-24 19:44:00 +01:00
firebase-project fix: update storage.rules (#5020) 2022-04-17 22:47:00 +02:00
packages chore: Use isDevEnv() and isTestEnv() (#9264) 2025-03-24 19:44:00 +01:00
public fix: remove manifest.json (#8783) 2024-11-09 13:42:11 +05:30
scripts refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
.dockerignore fix: Docker build in CI (#8312) 2024-08-06 13:21:20 +02:00
.editorconfig add editorconfig (#1198) 2020-04-03 19:19:01 +02:00
.env.development build: set PWA flag in dev to false (#8788) 2024-11-09 21:04:50 +01:00
.env.production fix: load env vars correctly and set debug and linter flags to false explicitly in prod mode (#8770) 2024-11-07 21:14:49 +00:00
.eslintignore feat: canvas search (#8438) 2024-09-09 17:12:07 +02:00
.eslintrc.json refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
.gitattributes Add gitattributes (#2164) 2020-09-15 21:59:00 +02:00
.gitignore chore: release @excalidraw/excalidraw@18.0.0 🎉 (#9127) 2025-02-28 16:49:09 +01:00
.lintstagedrc.js Keep errors, elements and comments consistent (#2340) 2020-11-05 18:06:18 +01:00
.npmrc feat: color picker redesign (#6216) 2023-05-18 16:06:27 +02:00
.nvmrc chore: update required node version to 18 (#6837) 2023-07-31 23:47:41 +02:00
.prettierignore Change target branch of coverage and pretty print (#1850) 2020-07-01 12:05:21 +03:00
.watchmanconfig Don't reset cache while zooming using a gesture (#1103) 2020-03-28 16:59:36 -07:00
CONTRIBUTING.md docs: migrating dev docs to docusaurus :) (#6073) 2023-02-01 19:57:54 +05:30
crowdin.yml build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
docker-compose.yml chore: Update action versions and docker build (#3065) 2021-02-20 14:28:33 +00:00
Dockerfile fix: Docker build in CI (#8312) 2024-08-06 13:21:20 +02:00
LICENSE Add MIT License (#176) 2020-01-05 13:09:29 -08:00
package.json refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
README.md Update README.md 2025-03-25 23:57:23 +06:00
setupTests.ts refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
tsconfig.json chore: release @excalidraw/excalidraw@18.0.0 🎉 (#9127) 2025-02-28 16:49:09 +01:00
vercel.json feat: multiple fonts fallbacks (#8286) 2024-07-30 10:34:40 +02:00
vitest.config.mts chore: release @excalidraw/excalidraw@18.0.0 🎉 (#9127) 2025-02-28 16:49:09 +01:00
yarn.lock refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00

Excalidraw

Excalidraw - Collaborative Whiteboarding Made Easy

Excalidraw is a virtual collaborative whiteboard that lets you easily sketch diagrams that have a hand-drawn feel to them.

🎨 Excalidraw Editor | 📝 Blog | 📚 Documentation | Excalidraw+

MIT License npm PRs Welcome Discord Twitter Follow

Product showcase

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

📝 Table of Contents

🌟 Key Features

  • 💯 Free & Open-Source: Excalidraw is completely free and open-source, giving you the freedom to use and customize it as per your needs.

  • 🎨 Infinite Canvas: Unleash your creativity with an infinite canvas that allows you to expand your drawings in any direction.

  • ✍️ Hand-Drawn Style: Give your diagrams and sketches a unique hand-drawn appearance with Excalidraw's distinctive visual style.

  • 🌓 Dark Mode: Switch to dark mode for a more comfortable and visually appealing drawing experience, especially in low-light environments.

  • 🌈 Customizable: Tailor Excalidraw to your preferences with customizable colors, fonts, and stroke styles.

  • 📷 Image Support: Easily add images to your drawings and resize, rotate, or crop them as needed.

  • 🖼️ Export Options: Export your drawings in various formats, including PNG, SVG, and JSON, for easy sharing and integration with other tools.

  • ⚒️ Powerful Drawing Tools: Access a wide range of drawing tools, including rectangles, circles, diamonds, arrows, lines, and free-form paths.

  • 🔗 Arrow Binding: Connect shapes with arrows that automatically adjust when the shapes are moved, making it easy to create flowcharts and diagrams.

  • 🔍 Zoom & Pan: Navigate large drawings effortlessly with smooth zooming and panning capabilities.

  • 🔙 Undo/Redo: Easily undo or redo actions, giving you the freedom to experiment and make changes without worry.

  • 💬 Localization: Excalidraw supports multiple languages, making it accessible to users worldwide.

  • 🖥️ Excalidraw+: Upgrade to Excalidraw+ for additional features like real-time collaboration, version history, and more.

🚀 Getting Started

🌐 Excalidraw.com

The quickest way to start using Excalidraw is to visit excalidraw.com. It's a fully-featured Progressive Web App (PWA) that works offline and supports real-time collaboration.

📦 NPM Package

To embed Excalidraw into your own application, you can install it via npm:

npm install react react-dom @excalidraw/excalidraw

Then, import and use the Excalidraw component in your code:

import React from 'react';
import Excalidraw from '@excalidraw/excalidraw';

const App = () => {
  return <Excalidraw />;
};

For more detailed instructions and advanced usage, refer to our documentation.

🤝 Contributing

We welcome contributions from the community! Whether you have ideas, bug reports, or code improvements, we appreciate your help in making Excalidraw better. To get started, please follow our contributing guidelines.

Some key areas where we'd love your assistance include:

  • 🌍 Translating Excalidraw into different languages.
  • 🐛 Reporting bugs and helping us identify and fix issues.
  • 🛠️ Contributing code to add new features, improve performance, or enhance the user experience.

Don't forget to join our Discord community to connect with other contributors and stay updated on the latest developments!

👥 Who's Using Excalidraw?

Excalidraw is trusted by companies and projects of all sizes. Here are a few notable examples:

  • Google Cloud uses Excalidraw for creating cloud architecture diagrams.
  • Meta utilizes Excalidraw for brainstorming and visualizing ideas.
  • CodeSandbox integrates Excalidraw for sketching and planning within their online code editor.
  • Obsidian has an Excalidraw plugin for taking notes and making sketches.
  • Replit incorporates Excalidraw for collaborative whiteboarding in their online coding environment.
  • Slite uses Excalidraw for team collaboration and visual communication.
  • Notion integrates Excalidraw for creating diagrams and sketches within their platform.
  • HackerRank employs Excalidraw for creating coding challenge explanations and visualizations.

💖 Sponsors & Support

If you find Excalidraw valuable and would like to contribute to its development and sustainability, please consider sponsoring us on Open Collective or upgrading to Excalidraw+. Your support helps us maintain and improve the project for the benefit of the entire community.

We extend our heartfelt gratitude to our sponsors and supporters:

We also appreciate the companies providing free infrastructure and services:

Vercel Sentry Crowdin

🙌 Acknowledgements

Excalidraw is made possible by the dedication and passion of our incredible team of contributors from around the world. We extend our sincere thanks to everyone who has contributed code, reported issues, provided feedback, and supported the project in any way.

Special thanks to our core team members for their significant contributions and leadership:

📜 License

Excalidraw is distributed under the MIT License. You are free to use, modify, and distribute the software as per the terms of this license.

For more details, please refer to the LICENSE file.


We hope this enhanced README provides a more comprehensive and informative overview of Excalidraw. Feel free to further customize it to highlight the unique aspects and strengths of your project. If you have any more questions or need further assistance, please let me know!