Getting started
This guide gets you from zero to a working Excalidraw whiteboard in your Svelte app. By the end, you’ll have either a single-player canvas (no server) or a multiplayer canvas with real-time collaboration.
npm install svelte-excalidraw node_modules size: The underlying
@excalidraw/excalidrawdependency is large (~185MB across 272 packages). See pkg-size.dev for details.
Path A: Single-player (no server)
Import Excalidraw, render it in a page. No server or config. See the Examples for minimal setup and more patterns.
Path B: Multiplayer (real-time collaboration)
For shared cursors and live element sync, follow the Multiplayer guide: step-by-step from npx sv create to a working whiteboard with lobby, stream route, and file-system persistence.
Next steps
| Goal | Where to go |
|---|---|
| See more single-player patterns | Examples: events, children, custom UI |
| Understand the multiplayer flow | Multiplayer guide: full walkthrough with lobby |
| Use a custom backend | Adapters: WebSocket, postMessage, etc. |
| API reference | Components, Multiplayer |