excalidraw/packages/excalidraw
2025-03-26 14:56:35 +01:00
..
actions Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-24 09:52:29 +01:00
components Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
context refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
css chore: release @excalidraw/excalidraw@18.0.0 🎉 (#9127) 2025-02-28 16:49:09 +01:00
data Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
fonts Fx imports and most tests 2025-03-20 13:50:43 +01:00
hooks Fix the rest except scene and ShapeCache 2025-03-18 11:25:46 +01:00
locales feat: add action to wrap selected items in a frame (#9005) 2025-01-13 15:03:56 +00:00
renderer Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-24 09:52:29 +01:00
scene Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
subset Fix all but components & tests 2025-03-17 19:42:10 +01:00
tests Enforce eslint rules not to import anything from excalidraw package inside common & element 2025-03-24 14:04:55 +01:00
wysiwyg Lint fix 2025-03-26 14:56:35 +01:00
.gitignore docs: add next js with app router example (#7552) 2024-01-24 17:07:54 +05:30
.size-limit.json build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
analytics.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
animated-trail.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
animation-frame-handler.ts feat: add eraser tool trail (#7511) 2024-01-11 16:10:15 +00:00
appState.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
change.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
CHANGELOG.md docs: CHANGELOG typos 🙏 (#9250) 2025-03-11 23:18:15 +01:00
charts.test.ts refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
charts.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
clients.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
clipboard.test.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
clipboard.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-24 09:52:29 +01:00
css.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
cursor.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
deburr.ts feat: command palette (#7804) 2024-03-28 16:16:32 +00:00
editor-jotai.ts feat: update jotai (#9015) 2025-01-16 16:59:11 +01:00
emitter.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
env.cjs chore: post publish docs & examples changes (#9217) 2025-03-11 13:02:59 +01:00
errors.ts Moved selection in element, refactor common 2025-03-19 15:26:05 +01:00
gesture.ts build: enable consistent type imports eslint rule (#7992) 2024-05-08 14:21:50 +05:30
global.d.ts Fix es & ts build 2025-03-18 12:44:13 +01:00
history.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
i18n.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
index-node.ts refactor: auto ordered imports (#9163) 2025-03-12 15:23:31 +01:00
index.tsx Fx imports and most tests 2025-03-20 13:50:43 +01:00
laser-trails.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
mermaid.test.ts feat: improve mermaid detection on paste (#8287) 2024-07-27 12:36:54 +02:00
mermaid.ts feat: improve mermaid detection on paste (#8287) 2024-07-27 12:36:54 +02:00
package.json Move utility types in common 2025-03-18 19:43:21 +01:00
polyfill.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
pwacompat.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
react-app-env.d.ts build: decouple package deps and introduce yarn workspaces (#7415) 2023-12-12 11:32:51 +05:30
reactUtils.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
README.md chore: post publish docs & examples changes (#9217) 2025-03-11 13:02:59 +01:00
snapping.ts Moved selection in element, refactor common 2025-03-19 15:26:05 +01:00
store.ts Merge branch 'master' into mrazator/separate-element-into-standalone-package 2025-03-25 10:08:53 +01:00
tsconfig.json Add @excalidraw/element package 2025-03-13 12:55:13 +01:00
types.ts Move utility types in common 2025-03-18 19:43:21 +01:00
visualdebug.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00
vite-env.d.ts Fix esbuild & ts build issues 2025-03-24 14:15:03 +01:00
workers.ts Fix all but components & tests 2025-03-17 19:42:10 +01:00

Excalidraw

Excalidraw is exported as a component to be directly embedded in your project.

Installation

Use npm or yarn to install the package.

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

Note

: If you don't want to wait for the next stable release and try out the unreleased changes, use @excalidraw/excalidraw@next.

Self-hosting fonts

By default, Excalidraw will try to download all the used fonts from the CDN.

For self-hosting purposes, you'll have to copy the content of the folder node_modules/@excalidraw/excalidraw/dist/prod/fonts to the path where your assets should be served from (i.e. public/ directory in your project). In that case, you should also set window.EXCALIDRAW_ASSET_PATH to the very same path, i.e. / in case it's in the root:

<script>window.EXCALIDRAW_ASSET_PATH = "/";</script>

Dimensions of Excalidraw

Excalidraw takes 100% of width and height of the containing block so make sure the container in which you render Excalidraw has non zero dimensions.

Demo

Go to CodeSandbox example.

Integration

Head over to the docs.

API

Head over to the docs.

Contributing

Head over to the docs.