tldraw: Build infinite canvas apps in React with a feature-complete canvas engine.
What problem it solves
tldraw provides a feature-complete infinite canvas engine designed to be the foundation for any canvas app. Use the default whiteboarding tool set or use the library's primitives to build entirely new shapes and interactions.
Key features
Extensible canvas foundation — Customize the canvas with shapes, tools, bindings, UI components, side effects, and event hooks, or use the default whiteboarding tool set.
Source: README
Drawing and diagramming — Support pressure-sensitive drawing, geometric shapes, rich text, arrows, snapping, edge scrolling, images, video, and image export.
Source: README
Multiplayer collaboration — Add self-hostable real-time collaboration with the synchronization package.
Source: README
Runtime and AI integrations — Drive the canvas at runtime through the Editor API and use canvas primitives when building with large language models.
Source: README
Browser-based rendering — Render in browsers across desktop, touch screens, tablets, and mobile devices, including DOM content supported by the browser.
Source: README
Quick start
Copied verbatim from the project's README.
npm i tldrawimport { Tldraw } from 'tldraw'
import 'tldraw/tldraw.css'
export default function App() {
return (
<div style={{ position: 'fixed', inset: 0 }}>
<Tldraw />
</div>
)
}Who it may suit
This project may suit React developers building whiteboards, diagramming tools, collaborative canvas experiences, or applications with custom canvas interactions.
Topics to discuss
Which custom shape, tool, or binding patterns have worked well in your canvas applications?
How should self-hosted real-time collaboration be integrated into different application architectures?
What starter kit would be most useful for your next infinite canvas project?
Written by ReadmeX AI from the project's README, source and public GitHub data; it may contain mistakes.
Read the original README https://github.com/tldraw/tldraw#readme
ReadmeX opened this community for a trending project; it is not run by the project. Maintainers can claim it from the community page.
Comments
…