Freehand drawing
Create fluid drawings with pressure-sensitive input and intelligent stroke algorithms, perfect for sketching tools, annotation systems, and creative applications.
Reliable primitives that work independently or together.
Create fluid drawings with pressure-sensitive input and intelligent stroke algorithms, perfect for sketching tools, annotation systems, and creative applications.
Implement real-time cursors, selections, chat bubbles, and viewport activity, all rendered with smooth animations.

Add intuitive zooming that steps smoothly in and out, always landing at the right level of detail with content-aware calculations.

Create precise object alignment systems with edge detection, center points, and distribution controls. Perfect for building design tools that need consistent spacing and professional layouts.
Keep UI, computed values, and business logic in sync by leveraging tldraw’s reactive data layer, which instantly propagates changes without manual state management.
The tldraw SDK meets modern accessibility standards, ensuring inclusive interactions and usability for people with diverse abilities.
Every infinite canvas application requires the same core set of primitives, regardless of your specific use case. These undifferentiated but crucial systems have significant implications for user experience, performance, and scalability. They take months to build correctly but often don't directly contribute to your core value proposition. That's why tldraw takes care of that part.
The tldraw sync system takes care of conflict resolution, presence tracking, and connection management. Users get real-time collaboration with shared cursors, live selections, and smooth conflict handling. Developers get production-ready WebSocket adapters, offline support, and automatic reconnection without having to build them from scratch.
Pointer movements, gestures, and key presses are translated into precise, responsive actions on the canvas. The event system runs on a state machine that scales from simple tools to complex multi-step workflows. Developers can build custom drawing tools, domain-specific interactions, or entirely new input paradigms, while the foundation handles hit testing, coordinate transforms, and gesture recognition.
The reactive store handles automatic subscriptions, efficient updates, and type-safe operations across your entire canvas. Changes flow instantly through computed values and side effects, while schema migrations take care of data evolution. From UI updates to multiplayer sync, everything stays consistent without extra work.
The camera system delivers smooth zooming, infinite panning, and precise coordinates for fluid navigation. It manages viewport culling, coordinate transforms, and animation timing automatically. Users can move naturally with touch, mouse, or keyboard, while developers get viewport bounds, coordinate conversion utilities, and deep linking for shareable views.
The geometry system computes bounds automatically, snaps objects into place intelligently, and keeps layouts precise. Behind the scenes it runs the vector math, transformation matrices, and collision detection required for accurate spatial operations. Use it to build alignment guides, automatic layout engines, or measurement tools without re-implementing the core math yourself.
Users can select multiple shapes, drag handles to resize or rotate, and apply batch operations with familiar keyboard modifiers. The system manages visual feedback and precise transformation controls automatically. As a developer, you can extend it with custom selection behaviors, specialized transformation tools, or domain-specific manipulation interfaces, while the primitives take care of the complex interaction logic.
Screen reader support, keyboard navigation, and semantic shape descriptions make canvas apps usable for everyone. The accessibility system provides context-aware announcements and full keyboard control, while handling ARIA roles, focus management, and reading order automatically. You can meet compliance requirements without giving up rich interactions.
Every UI component can be customized or replaced. The system provides responsive layouts, theme support, and full override capabilities while keeping behavior consistent across screen sizes. You can build white-label apps, design custom tool palettes, or create industry-specific interfaces. The UI primitives handle responsiveness and accessibility, giving you full control over design.
ClickUp modernized its whiteboard for millions of users, replacing legacy infrastructure with the tldraw SDK.
Production ready starter kit to add a chat to your canvas. Building something different? See all starter kits
Integrate tldraw's canvas into a chat application to let the user sketch, annotate and add markup to any chat message before sending it off to an AI model or a person.

Support images, video, text, and custom content types without extra hassle.