mrkeyoor.com_
Thu 22 Oct 10:08 UTC
Webevaluationupdated 21 Oct 2026

tldraw review

tldraw is a source-available React SDK for adding an editable drawing canvas to a web app. It provides whiteboard tools and extension points for custom shapes, tools, bindings, and interface components. Production use requires a license key.

+69stars / 7d
Verdict

Our tldraw checkout installed in 29 seconds but failed its build and test commands. The supplied logs do not establish the causes or confirm the documented development environment. Consider the SDK for a React product that needs custom canvas behavior and can arrange a production license. Shared documents also require an operated backend, access controls, upload policies, and coordinated client and server upgrades.

We ran it

Lab card: what happened when we ran tldrawScreenshot of tldraw (tldraw.dev)
Install✓ · 29s2708 packages · 2564 MB
Build✗ · 70s
Tests✗ · 556sran, no count parsed
Repo4662 files~535,346 lines of source · 67.4 MB · 35 CI workflows

Answers from our run

Does tldraw build from source?

Dependencies installed in 29 seconds (2708 packages), and the build failed. We cloned commit 7937be3 into a clean Debian container with 3 CPUs and no project-specific setup.

Do tldraw's tests pass?

No. The project's own test command exited unsuccessfully after 556 seconds, and its output did not expose an individual test count.

Who should not use tldraw?

Teams requiring an MIT-licensed SDK: the README distinguishes the SDK's tldraw license from its MIT-licensed starter kits.

What are the alternatives to tldraw?

Excalidraw, React Flow. Our tldraw checkout installed in 29 seconds but failed its build and test commands.

SetupN/AThe repository checks failed, but actual runtime logs do not confirm whether the sandbox matched the documented development environment.
Docs4/5The visible rubric awards 4/5 for detailed guidance with explicit boundaries. The supplied README and sync guide cover embedding, repository development, hosting, and omitted application controls.
Community3/5The visible rubric awards 3/5 for useful participation routes with a material restriction. Discord and issue channels are documented, but outside contributions are closed.
MaturityN/AProduction behavior was not exercised. Release activity and failed repository commands do not establish deployed SDK reliability.

Discussed on

  1. hnTldraw Computer553 points
  2. hnTldraw – a tiny little drawing app471 points
  3. hnTldraw pauses external contributions due to AI slop192 points
  4. hnTldraw's $2.7M Seed – A new collaborative infinite canvas for the web154 points
  5. hnTldraw SDK 4.098 points

Who it’s for

React teams building drawing or annotation features that need custom shapes and editor controls.
Product teams prepared to arrange a production license.
Developers prepared to operate a sync backend for shared documents.

Who it’s NOT for

Teams requiring an MIT-licensed SDK: the README distinguishes the SDK's tldraw license from its MIT-licensed starter kits.
Teams expecting the multiplayer template to include authentication or upload limits: the sync guide leaves those features to adopters.
Developers whose adoption policy depends on contributing patches upstream: the README says outside contributions are currently closed.

Setup reality

Our sandbox installed commit 7937be3 in 29 seconds, recording 2,708 dependencies and 2,564 MB on disk. The build failed after 70 seconds, with @tldraw/mentions#build-api identified as the failed task. Tests failed after 556 seconds: 533 files passed, 4 failed, and 18 were skipped. Individual results included 10,142 passed, 28 skipped, and 52 todo entries. The supplied log tails do not establish the causes.

The README shows embedding the component in a React application with the SDK stylesheet. Production use requires a license key. Production collaboration requires hosting sync yourself and providing asset storage. The recommended Cloudflare template uses Durable Objects and R2, but leaves authentication, authorization, and upload limits for you to add.

Repository development specifies Node.js ^20.0.0, Corepack, and pnpm. Our October 12, 2026 run recorded 3 CPUs, 8 GB RAM, and image lab-node:22. The image label does not establish the actual runtime or operating system, so setup in the documented environment remains unassessed.

Production use requires a license key

Production use requires a license key. For a React team considering tldraw, that requirement belongs in the adoption decision alongside its custom canvas features. The README identifies the SDK's license as the tldraw license and separately says its starter kits are MIT-licensed. The starter-kit terms do not establish MIT licensing for the SDK.

The SDK provides default whiteboard tools and lets developers add custom shapes, tools, bindings, and interface components. Consider it when your application needs those extension points. If a standard sketching surface or a node editor would meet the requirement, evaluate those narrower options before committing to custom canvas work.

What happened when we ran it

Our sandbox installed tldraw at commit 7937be3 in 29 seconds, recorded 2,708 dependencies, and used 2,564 MB on disk. The build failed with exit 1 after 70 seconds. The run took place on October 12, 2026, with a recorded allocation of 3 CPUs and 8 GB RAM. The lab-node:22 image label does not establish the actual Node.js or operating-system version, so the run cannot certify setup in the documented development environment.

The build tail identifies @tldraw/mentions#build-api as the failed task. It reports 44 successful tasks out of 60, with none cached, and lifecycle errors from other packages and examples. It does not show the underlying exception. Diagnosing a package or environment problem requires the earlier log.

Tests exited 1 after 556 seconds. The summary reported 533 passing files, 4 failed files, and 18 skipped files. Individual results included 10,142 passed, 28 skipped, and 52 todo entries. The tail names mcp-app idle-expiry and large-payload files but does not explain all four file failures. These results establish failed repository checks; they do not establish that the canvas editor is broken.

The checkout contained 4,662 files and occupied 67.4 MB before installation. This run covered a repository with monorepo workspaces. It did not measure an application importing only the published React component, drawing latency, multiplayer capacity, or deployed reliability.

Embedding and repository development are separate tasks

The README's quick start imports Tldraw and tldraw/tldraw.css, then mounts the component inside a fixed container. That documents an entry point for an existing React app. The supplied run did not separately execute that embedding example.

Repository development follows different instructions. The README specifies Node.js ^20.0.0, Corepack, and pnpm, with the examples server at localhost:5420. The supplied runtime evidence does not confirm whether our sandbox matched that requirement. Reproducing the failed checks with recorded toolchain versions and complete logs is the next step for a team planning to develop inside the repository.

Shared documents require an operated backend

The official sync guide describes its hosted demo as suitable for prototyping. Production sync requires self-hosting. The recommended Cloudflare template uses Durable Objects for a WebSocket server per room, built-in SQLite storage for room state, and R2 for large binary assets. The guide also describes integration with a JavaScript backend that supports WebSockets.

The template leaves authentication and authorization, upload rate and size limits, document snapshot history, and room listing and search for adopters to add. Before inviting users, decide who may enter each room and what they may upload.

Client and server versions also need coordinated deployment. The guide requires matching tldraw versions and says the updated backend should be running just before the new client rolls out. Backend ownership therefore includes upgrade planning as well as hosting and access controls.

Compare the document your product needs

Excalidraw is a hand-drawn style whiteboard. Its README lists shape libraries and PNG, SVG, and clipboard export among the npm editor's features. It lists collaboration and encryption separately under the hosted application. Evaluate it when a sketching surface meets your requirement, and check the distinction between the editor package and the surrounding app.

React Flow targets node-based React interfaces. React Flow and Svelte Flow are MIT licensed. If your document mainly connects nodes, prototype that model before choosing a general drawing SDK. Consider tldraw when free drawing and custom canvas objects need to share a document. This is a product-fit judgment, not a performance comparison from our sandbox.

Maintenance activity and contribution limits

The supplied GitHub metadata records a push on October 20, 2026. The supplied release record identifies v5.5.2, published October 2, 2026; its release page describes a license-domain validation fix for pages loaded from blob URLs. These are maintenance signals, not evidence of deployed reliability. The measured checkout remains commit 7937be3; this review does not identify it as a test of the v5.5.2 release tag.

The README says outside contributions are not currently accepted and directs bug reports and feature requests to issues. Teams that need to upstream their own fixes should account for that restriction.

The numerical ratings assess documentation and participation only. On this review's five-point rubric, 1 means the supplied material establishes little usable guidance or participation access; 2 means limited routes with substantial gaps; 3 means useful routes with a material restriction; 4 means detailed guidance with explicit boundaries, or participation routes without the restriction identified here; and 5 requires stronger evidence of completeness or participation than these extracts establish. Documentation earns 4/5 for separate embedding, repository-development, and sync instructions that state production responsibilities. Community earns 3/5 for discussion and issue channels alongside closed outside contributions. Setup and production maturity remain unassessed because the actual runtime and deployed behavior were not established.

Start with one application-specific shape and your intended document-saving path. If collaboration is essential, include authenticated room access and an upload policy in that evaluation. Resolve the production license before expanding the prototype.

Alternatives

ProjectWhat it isPick it when
Excalidraw gh↗A hand-drawn style whiteboard editor with shape libraries and image export.Choose it when a sketching surface meets your requirement, after checking the README's distinction between npm editor features and hosted-app features.
React FlowAn MIT-licensed library for node-based React interfaces.Choose it when your document primarily connects nodes; prototype that model before adopting a general drawing SDK.

Sources

  1. Tldraw README
  2. Tldraw sync deployment guide
  3. Excalidraw README
  4. xyflow README
  5. Tldraw repository metadata
  6. Tldraw v5.5.2 release

More web reviews

react-virtualized · emdash · dioramas · elpis · deepseek-whale-girl · floorplan-3d · the whole board →