Save months of work with our ready-to-use whiteboard kit

Try it

The tldraw SDK gives you a production-ready foundation out of the box. Skip the canvas setup and focus on what makes your product unique.

Trusted by

All the essentials built in

All the essentials built in

All the essentials built in

All the essentials built in

Professional canvas tools

Select tool

Multi-select, resizing and rotation

Hand tool

Smooth pan and zoom navigation

Draw tool

Pressure-sensitive freehand drawing

Eraser tool

Precise shape deletion

Text tool

Rich formatting and inline editing

Arrow tool

Smart connectors that stick to shapes

Note tool

Commenting with sticky notes

Geometry tool

Quick creation of geometric shapes

Navigation and camera

Zoom controls

Precise zoom in/out with fit-to-screen options

Smart camera

Auto-focus on selections and smooth following

Alignment guides

Smart snapping and alignment helpers

Grid and rulers

Optional overlays for precise positioning

Mini-map

Overview navigation for large canvases

Focus mode

Hide the UI to bring focus to canvas contents

Complete shape library

Rectangles, circles, triangles, and a full suite of shapes for diagramming

Sticky notes with clone handles and smart placement

Freehand drawing and highlighter tools

Smart arrows that connect to shapes and update automatically

Videos, images and GIFs that can be arranged and annotated like any other shape

18 built-in embed types including YouTube, Figma and Google Maps

Collaboration ready

Real-time collaboration without the complexity. The tldraw sync package provides drop-in multiplayer with user presence, live cursors, and automatic conflict resolution. The SDK is built for production and comes with a WebSocket infrastructure, as well as systems for asset sharing and storage, custom authentication and permissions, offline support with automatic reconnection and much more.

import { useSyncDemo } from '@tldraw/sync'
import { Tldraw } from 'tldraw' 
import 'tldraw/tldraw.css'

function CollaborativeApp() {
	const store = useSyncDemo({ roomId: 'my-room' })
	return <Tldraw store={store} />
}
import { useSyncDemo } from '@tldraw/sync'
import { Tldraw } from 'tldraw' 
import 'tldraw/tldraw.css'

function CollaborativeApp() {
	const store = useSyncDemo({ roomId: 'my-room' })
	return <Tldraw store={store} />
}

Ideas belong on a canvas

Set up your infinite canvas app today.

Ideas belong on a canvas

Set up your infinite canvas app today.

Ideas belong on a canvas

Set up your infinite canvas app today.

Ideas belong on a canvas

Set up your infinite canvas app today.

Tons of benefits from the first line of code

Tons of benefits from the first line of code

Tons of benefits from the first line of code

Tons of benefits from the first line of code

Performance at scale

Viewport culling that only renders visible content

Efficient shape batching

Smooth interactions with thousands of shapes

Memory management for long-running sessions

Reliable persistence

Automatic undo/redo

Conflict-free collaborative editing

Incremental saves and data migration

Robust error handling and recovery

Developer experience

Full TypeScript definitions

Comprehensive React integration

Extensive documentation and examples

Debug views for custom shapes

Custom shapes and tools

The same shape system that handles built-in shapes, sticky notes, and arrows supports your custom flowchart nodes, architectural symbols, or domain-specific elements.

Documentation

Runtime editor API

Complete programmatic control over the editor state, shapes, and canvas operations through a comprehensive API.

Documentation

Flexible UI

Replace any part of the interface from toolbars to context menus, or build entirely custom UI.

Documentation

Event handling

Respond to user interactions, shape changes, and canvas events with powerful event listeners and hooks.

Documentation

Case studies

Case studies

Case studies

Case studies

Build in days, what would take others months

Set up your infinite canvas app today.

Build in days, what would take others months

Set up your infinite canvas app today.

Build in days, what would take others months

Set up your infinite canvas app today.

Build in days, what would take others months

Set up your infinite canvas app today.

One whiteboard, infinite use cases

One whiteboard, infinite use cases

One whiteboard, infinite use cases

One whiteboard, infinite use cases

Out-of-the-box multiplayer

Out-of-the-box multiplayer

Out-of-the-box multiplayer

Out-of-the-box multiplayer

Multiplayer starter kit

Self-hosted tldraw with real-time multiplayer collaboration built with Cloudflare Durable Objects. Production-ready backend that handles WebSocket connections, automatic persistence, and asset management. The same architecture that powers hundreds of thousands of collaborative sessions on tldraw.com.

Join the community

69.8K followers on X • 41.7K GitHub stars • 208 contributors • 8.6K Discord channel members

Join the community

69.8K followers on X • 41.7K GitHub stars • 208 contributors • 8.6K Discord channel members

Join the community

69.8K followers on X • 41.7K GitHub stars • 208 contributors • 8.6K Discord channel members

Join the community

69.8K followers on X • 41.7K GitHub stars • 208 contributors • 8.6K Discord channel members

Product

Developers

Resources

Product

Developers

Resources

Product

Developers

Resources

Product

Developers

Resources