An open-source tldraw alternative

tldraw is a great SDK — and its custom license, with a paid business tier, is how it's funded. If you'd rather build on an MIT license with no fee attached, that's exactly why Quickdraw exists.

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 tldraw's license page. Spot an error? Tell us and we'll fix it.

Where Quickdraw differs

The license is MIT. Use it in a commercial product, modify it, redistribute it. There's no license key to manage and no tier to upgrade to later. A small "Quickdraw" mark sits in the board's corner by default; turning it off is a boolean, not a purchase.

The core doesn't need React. tldraw's SDK is a React library. Quickdraw's engine is plain ESM with zero dependencies — it runs in any web page, and the React package is a thin binding over it. There's also a React Native package with Apple Pencil pressure and palm rejection, which tldraw doesn't ship.

Sync is a data-model primitive. Every change emits a JSON-safe diff. Send it over a WebSocket, apply it with store.applyDiff(diff, 'remote'), and remote changes stay out of local undo history. No sync server product required.

Where tldraw is ahead

Honesty helps you choose: tldraw has years of polish, a bigger team, a richer shape ecosystem, and a hosted sync service. If you need embedded frames, custom shape plugins, or a supported sync backend today — and the license works for you — it's a strong choice. Quickdraw covers the core whiteboard experience completely and is improving in public, with an MIT license the whole way.

Two minutes to a board

npm install @quickdrawjs/react

import { Quickdraw } from '@quickdrawjs/react'
import '@quickdrawjs/core/quickdraw.css'

export default function Board() {
  return <Quickdraw theme="light" grid="dots" />
}