Virtual whiteboard for sketching hand-drawn like diagrams
Go to file
Aakansha Doshi f14ad61bd0
build: move build process and excalidraw-app dependencies in its own package.json (#7021)
* build: move build process and excalidraw-app dependencies in its own package.json

* fix

* fix public path

* move bug-issue-template to excalidraw-app

* make env vars accessible in excalidraw app

* update build script

* install when building

* add ts ignore

* fix build-version script

* update config in vercel.json

* add vercel config for example

* fix vercel config

* update install script in vercel

* update install script in lint.yml

* update install script in test workflows

* push locales to locales folder pwa

* add favicons to manifest

* move react to peer deps in editor

* fix ts

* Enable vite intellisense

* add global.d.ts for excalidraw-app

* remove console.log

* remove react, react-dom and vite from excalidraw-app deps

* increase size limit
2023-12-07 16:39:11 +05:30
.codesandbox chore: update required node version to 18 (#6837) 2023-07-31 23:47:41 +02:00
.github build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
.husky build: temporarily disable pre-commit (#6132) 2023-01-19 13:50:42 +01:00
dev-docs docs: changelog instruction removed from docs (#7395) 2023-12-06 11:36:39 +05:30
excalidraw-app build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
firebase-project fix: update `storage.rules` (#5020) 2022-04-17 22:47:00 +02:00
public fix: Icon size in manifest (#7073) 2023-10-03 11:07:02 +02:00
scripts fix: use subdirectory for @excalidraw/excalidraw size limit (#6787) 2023-07-19 22:07:18 +05:30
src build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
.dockerignore build: stops ignoring .env files from docker context so env variables get set during react app build. (#5809) 2022-11-07 16:48:38 +05:30
.editorconfig add editorconfig (#1198) 2020-04-03 19:19:01 +02:00
.env.development feat: text-to-diagram (#7325) 2023-11-25 21:11:03 +00:00
.env.production feat: text-to-diagram (#7325) 2023-11-25 21:11:03 +00:00
.eslintignore feat: image support (#4011) 2021-10-21 22:05:48 +02:00
.eslintrc.json chore: Update Typescript to 4.4.4 (#4188) 2021-11-02 14:24:16 +02:00
.gitattributes Add gitattributes (#2164) 2020-09-15 21:59:00 +02:00
.gitignore build: migrate to Vite 🚀 (#6818) 2023-07-27 23:50:11 +05:30
.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
Dockerfile build: update to node 18 in docker (#6822) 2023-07-28 12:06:33 +05:30
LICENSE Add MIT License (#176) 2020-01-05 13:09:29 -08:00
README.md docs: add npm downloads rate badge to README.md file (#7127) 2023-11-01 13:27:57 +01:00
crowdin.yml Locale 2020-03-19 20:38:52 +02:00
docker-compose.yml chore: Update action versions and docker build (#3065) 2021-02-20 14:28:33 +00:00
package.json build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
tsconfig-types.json build: migrate to Vite 🚀 (#6818) 2023-07-27 23:50:11 +05:30
tsconfig.json refactor: move excalidraw-app outside src (#6987) 2023-09-21 09:28:48 +05:30
vercel.json build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30
vitest.config.mts chore: upgrade to vite 5.x and vitest 1.x (#7407) 2023-12-07 15:30:08 +05:30
yarn.lock build: move build process and excalidraw-app dependencies in its own package.json (#7021) 2023-12-07 16:39:11 +05:30

README.md

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 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

Install the Excalidraw npm package:

npm install react react-dom @excalidraw/excalidraw

or via yarn

yarn add react react-dom @excalidraw/excalidraw

Don't forget to check out our Documentation!

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