Favicon of tldraw

tldraw

tldraw is a React SDK for building infinite canvas apps, offering drawing, diagramming, and self-hostable multiplayer collaboration primitives.

Open Source Alternative to:
tldraw website screenshot
tldraw GitHub repository preview

tldraw is an open source SDK for building infinite canvas applications in React, used as the foundation for whiteboard and canvas features in products from Google, Shopify, BlackRock, Autodesk, and ClickUp. Rather than shipping a single finished whiteboard app, it exposes an Editor API and a library of primitives so teams can build custom shapes, tools, and UI on top of a feature-complete canvas engine. The hosted product at tldraw.com and self-hostable starter kits both run on the same open source SDK, so a team can start with the default whiteboard tool set and later swap in entirely custom shapes and interactions.

Key features

  • Multiplayer sync: The @tldraw/sync package adds self-hostable real-time collaboration, the same stack that powers tldraw.com, built on Cloudflare Durable Objects.
  • Drawing and diagramming primitives: Pressure-sensitive drawing, geometric shapes, rich text, arrows with snapping to shapes, edge scrolling, and image and video support with image export ship out of the box.
  • Runtime Editor API: The canvas can be driven programmatically at runtime, letting applications read and modify shapes, camera position, and selection state in code rather than only through user interaction.
  • Extensible shapes, tools, and bindings: Developers can define custom shapes, custom tools, bindings between shapes, and custom UI components, plus hook into side effects and events to change how the canvas behaves.
  • DOM-based rendering: Because the canvas renders in the DOM, it supports anything a browser can render, including embedded websites from YouTube, Figma, and GitHub.
  • AI integration primitives: tldraw ships canvas primitives specifically for building LLM-driven agents that read, interpret, and modify canvas content, used by the dedicated Agent starter kit.
  • Broad device support: The canvas works across desktop browsers, touch screens, tablets, and mobile devices without a separate mobile-specific build.

Getting started

Installing npm i tldraw and rendering the <Tldraw /> component is enough to get a working infinite canvas in a React app. For more complete applications, npx create-tldraw@latest scaffolds one of several MIT-licensed starter kits, including Multiplayer, Agent, Workflow (a drag-and-drop node builder for automation pipelines and visual programming), Chat, Image pipeline, Branching chat, and Shader kits, each providing the custom shapes and UI needed for that use case.

Tech stack

tldraw is written in TypeScript and published as an npm package (tldraw). Local development requires Node.js 20+ and Yarn via Corepack, with the examples app running at localhost:5420. From version 5.1.x onward, published packages include a DOCS.md file with docs-site content and a generated RELEASE_NOTES.md, so an installed version's documentation travels with it inside node_modules. The SDK is free to use in development; production use requires a license key under the tldraw license, while the starter kits themselves are MIT-licensed. The project is not currently accepting external contributions, so bug reports and feature requests go through GitHub issues rather than pull requests.

Frequently asked questions

Share:

Stars
49.3K
Forks
3.4K
Last commit
22 hours ago
Repository age
5 years
Self-hosted
No
Activity score
85/100
View Repository
Ad
Favicon

 

  
 

Similar to tldraw

Favicon

 

  
 
Favicon

 

  
 
Favicon