Tldraw is a free, open source design & visualization project written in TypeScript and released under a custom open-source licence. It has 50,422 GitHub stars, 3,517 forks and 649 open issues, and was last pushed 7 hours ago. On this registry it ranks #4 of 7 tracked projects in Design & Visualization, with 5 head-to-head comparisons available. It gained 100 stars over the last 6 tracked days.

Tldraw — Free instant whiteboard with real-time collaboration

What is Tldraw?

Tldraw is a free, open-source TypeScript and React SDK for building infinite-canvas applications — the engine behind tldraw.com — aimed at developers who need whiteboarding, diagramming, or real-time canvas collaboration embedded inside their own product rather than hosted as a separate destination site.

What it is

Tldraw lives in the JavaScript and TypeScript ecosystem, ships as an npm package named tldraw, and renders inside React applications. It provides a feature-complete infinite canvas engine that developers extend with their own shapes, tools, bindings, and interface components. The project publishes an SDK plus a set of MIT-licensed starter kits, and it is distributed publicly through GitHub, where the repository carries the TypeScript language tag and sits in the Productivity and Utilities / Design and Visualization category. Documentation, examples, and starter kits are collected on tldraw.dev.

The concrete problem it solves is the cost of building a canvas from nothing. Drawing surfaces, hit testing, arrow routing, text layout, snapping, undo stacks, and multiplayer sync are individually difficult and collectively expensive, and most teams that need a whiteboard are not in the business of writing one. Tldraw replaces the bespoke canvas engine — and, for teams that would otherwise adopt a hosted whiteboard product as a destination site — with an embeddable component that runs inside the application the team already owns.

Key capabilities

  • Self-hostable real-time collaboration through @tldraw/sync, so multiplayer sessions run on infrastructure the operator controls.
  • Drawing and diagramming primitives: pressure-sensitive drawing, geometric shapes, rich text, arrows, snapping to shapes, edge scrolling, image and video support, and image export.
  • A runtime Editor API that drives the canvas programmatically rather than only through user input.
  • Fully extensible architecture: custom shapes, tools, bindings, UI components, side effects, and event hooks.
  • AI integrations, exposing canvas primitives for building with LLMs.
  • A DOM-based canvas that renders anything the browser renders, including embedded YouTube, Figma, and GitHub content.
  • Broad device support across desktop, touch screens, tablets, and mobile browsers.

Who uses it and how

  • Product teams embedding a collaborative board inside an existing application, where the canvas is a feature and not the whole product.
  • Companies named in the project's own showcase, including Google, Shopify, BlackRock, Autodesk, ClickUp, Replit, Runway, Padlet, Craft, and Honeycomb, which have built canvas experiences on the SDK.
  • Teams that want the tldraw.com multiplayer stack on their own hosting, since the Multiplayer starter kit pairs @tldraw/sync with Cloudflare Durable Objects.
  • Builders of specialised canvases — the Agent, Workflow, Chat, Image pipeline, Branching chat, and Shader starter kits cover AI agents, node-based automation, annotated chat, image generation pipelines, and WebGL shaders respectively.
  • Small teams prototyping first: each starter kit is MIT-licensed and can be run as a prototype, built on directly, or mined for reference code.

Getting started

Install the package with npm i tldraw, then render the Tldraw component in a React app alongside the tldraw/tldraw.css stylesheet. For a richer starting point, run npx create-tldraw@latest; local development of the repository itself serves the examples app at localhost:5420 and requires Node.js ^20.0.0 with corepack enabled for the project's yarn version.

How it compares

No competing registry entries or paid alternatives are named in the facts supplied here, so tldraw stands alone in this registry rather than being ranked against a peer set. The only comparison the source material supports is internal: the SDK is the library, tldraw.com is the product built on it, and the starter kits are the MIT-licensed sample applications layered on top.

When to use it — and when not to

A self-hoster takes on the canvas application, its React toolchain, and — for collaboration — the sync backend and whatever infrastructure @tldraw/sync is deployed against, along with Node.js ^20.0.0 and corepack for repository development. Teams that want a finished whiteboard with no code, or that are not building in React, should look elsewhere, because the SDK is a library rather than an end-user product. One caveat worth checking before committing: the repository metadata records the licence as NOASSERTION rather than a recognised identifier, so the main project terms should be confirmed from the repository itself even though the starter kits are stated as MIT-licensed.

project readme (upstream, from github) — read inline
tldraw

npm npm downloads Discord Ask DeepWiki

Build infinite canvas apps in React with the tldraw SDK.

Docs · Examples · Starter kits

Feature highlights

tldraw provides a feature-complete infinite canvas engine designed to be the foundation for any canvas app. Create custom shapes, tools, bindings and UI components for a custom experience. Use the default whiteboarding tool set or use the library's primitives to build entirely new shapes and interactions.

  • Multiplayer — self-hostable real-time collaboration with @tldraw/sync
  • Drawing and diagramming — pressure-sensitive drawing, geometric shapes, rich text, arrows, snapping to shapes, edge scrolling, image and video support, image export
  • Runtime API - drive the canvas at runtime with the Editor API
  • Fully extensible — custom shapes, tools, bindings, UI components, side effects, and event hooks
  • AI integrations — canvas primitives for building with LLMs
  • DOM canvas — web rendering supports anything the browser supports, including embedded websites from YouTube, Figma, GitHub, and more
  • Broad support — works in any browser across desktop, touch screens, tablets, and mobile devices

Who's using tldraw

The tldraw SDK powers canvas experiences in products from Google, Shopify, BlackRock, Autodesk, ClickUp, Replit, Google Stitch, Luma, Runway, Padlet, Mobbin, Jam, Craft, Honeycomb, SchoolAI, Brisk, CADChat, bigpi, Genio, Pollination, Legendkeeper, Matilda, Aries, Alai, Dirac, and many more.

See our showcase for case studies on how teams build with tldraw.

Quick start

Install the tldraw package:

npm i tldraw

Then, use the `` component in your React app:

import { Tldraw } from 'tldraw'
import 'tldraw/tldraw.css'

export default function App() {
	return (
		<div style={{ position: 'fixed', inset: 0 }}>
			<Tldraw />
		</div>
	)
}

Starter kits

Starter kits provide the custom shapes, tools, and user interface needed for common applications. Each kit is MIT-licensed. Hack together a prototype, build out an app on top, or reference the code in a larger project.

Start building with:

npx create-tldraw@latest
  • Multiplayer — self-hosted real-time collaboration powered by @tldraw/sync and Cloudflare Durable Objects, the same stack behind tldraw.com
  • Agent — AI agents that read, interpret, and modify canvas content
  • Workflow — drag-and-drop node builder for automation pipelines, visual programming, and no-code platforms
  • Chat — canvas-powered AI chat where users sketch, annotate, and mark up images alongside conversations
  • Image pipeline — node-based builder for image generation pipelines
  • Branching chat — AI chat with visual branching, letting users explore and compare different conversation paths
  • Shader — WebGL shaders that respond to canvas interactions

Local development

The development server runs the examples app at localhost:5420. You'll need Node.js ^20.0.0. Clone the repo, then enable corepack for the correct yarn version:

npm i -g corepack

Install dependencies and start the dev server:

yarn
yarn dev

Documentation

Documentation for the most recent release can be found on tldraw.dev/docs, including reference docs. Our release notes can be found here.

For more agent-friendly docs, see our LLMs.txt.

From 5.1.x onward, published packages also include a DOCS.md file with the appropriate docs-site content and a generated RELEASE_NOTES.md file with versioned release notes. If you or your coding agent need release notes for your installed version specifically, check these files alongside the source in your node_modules folder.

Community

Contributing

We are not accepting contributions at this time. If you've found a bug or have a feature request, please create an issue and we can discuss it there. See our contributing guide for details.

License

The tldraw SDK is provided under the tldraw license. You can use the SDK freely in development. Production use requires a license key. Visit tldraw.dev to learn more.

Trademarks

Copyright (c) 2024-present tldraw Inc. The tldraw name and logo are trademarks of tldraw.

Please see our trademark guidelines for info on acceptable usage.

Contributors

Star History

Star History Chart

Frequently asked questions

Is Tldraw free to use?

Tldraw is open source. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Tldraw do?

Free instant whiteboard with real-time collaboration

What is Tldraw written in?

Tldraw is primarily written in TypeScript. Its source is publicly available at https://github.com/tldraw/tldraw, and it has 50,422 GitHub stars.