* Don't reset cache while zooming using a gesture This reuses the cached canvas while the gesture is happening. Once it has stop updating, then recompute the cache with the proper zoom. This should massively improve performance when panning on big scenes on mobile Fixes #1056 * update snapshot tests
Try it now
Go to https://excalidraw.com to start sketching.
Run the code
Code Sandbox
- Go to https://codesandbox.io/s/github/excalidraw/excalidraw
- You can start coding instantly, and even send PRs from there!
Local Installation
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Clone the repo
git clone https://github.com/excalidraw/excalidraw.git
Commands
Command | Description |
---|---|
npm install |
Install the dependencies |
npm start |
Run the project |
npm run fix |
Reformat all files with Prettier |
npm run test:code |
Test for formatting with Prettier |
npm run test:app |
Test the app |
npm run test |
Run all tests |
Contributing
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Translating
To translate Excalidraw into other languages, please visit our Crowdin page. To add a new language, open an issue so we can get things set up on our end first.
Excalidraw is built using these awesome tools
And the main source of inspiration for starting the project is the awesome Zwibbler app.
Testimonials
Contributors
Code Contributors
This project exists thanks to all the people who contribute. [Contribute].
Financial Contributors
Become a financial contributor and help us sustain our community. [Contribute]
Individuals
Organizations
Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]