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/excalidraw dependency 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

GoalWhere to go
See more single-player patternsExamples: events, children, custom UI
Understand the multiplayer flowMultiplayer guide: full walkthrough with lobby
Use a custom backendAdapters: WebSocket, postMessage, etc.
API referenceComponents, Multiplayer