An Excalidraw alternative that works everywhere
Excalidraw is MIT-licensed and well loved — if you're embedding a whiteboard in a React web app, it's a fine pick. Quickdraw is for when you need the same thing outside React: a plain web page, a React Native app, or a core you can drive headless.
Side by side
| Quickdraw | tldraw SDK | Excalidraw | |
|---|---|---|---|
| License | MIT | Custom | MIT |
| Free for commercial use, no paid tiers | paid business license tier | ||
| React component | |||
| Works without React | |||
| React Native package | |||
| Zero-dependency core | |||
| Pressure ink + palm rejection | pressure only | ||
| Diff-based sync primitive | via excalidraw-room |
Reflects public docs as of August 2026 — see Excalidraw's repo. Spot an error? Tell us and we'll fix it.
When Quickdraw is the better fit
- You're not using React. The core is dependency-free ESM.
createQuickdraw({ container })works in any page — no build step required. - You're building for iOS or Android. The React Native package brings the full engine to Expo and bare RN apps, with Apple Pencil pressure and palm rejection.
- You want sync without a dedicated server. Every change emits a JSON diff; apply remote diffs with
store.applyDiff(diff, 'remote')over any transport. Excalidraw's collaboration runs through excalidraw-room. - You want a small surface. One store, one editor, one toolbar — ~46 kB of plain ESM you can read in a sitting.
When Excalidraw is the better fit
Excalidraw has a huge community, a mature element library, and years of edge-case handling. If you're deep in React, want its hand-drawn look exactly, or lean on its ecosystem (libraries, mermaid import, the excalidraw.com app), stick with it — it's genuinely good software.
Try it in a plain HTML page
<div id="board" style="position: fixed; inset: 0"></div>
<script type="module">
import { createQuickdraw } from 'https://esm.sh/@quickdrawjs/core'
createQuickdraw({ container: document.getElementById('board') })
</script> More: documentation · tldraw alternative · tldraw vs Excalidraw · blog