collaboration Drawing app
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Mitja Bezenšek 2372478556
Update changelog. Bump version. (#1546)
Update the VS Code changelog and bump the version.

### Change Type

- [x] `patch` — Bug Fix
18 hours ago
.github [chore] remove webdriver dependencies / scripts (#1488) 1 week ago
.husky [chore] remove yarnrc-private.yml (#1427) 2 weeks ago
.yarn transfer-out: transfer out 1 month ago
apps Update changelog. Bump version. (#1546) 18 hours ago
assets Use `"Toggle locked"` (#1538) 22 hours ago
config update lazyrepo 2 days ago
e2e/screenshots [1/3] initial highlighter shape/tool (#1401) 6 days ago
packages hoist opacity out of props (#1526) 18 hours ago
scripts update lazyrepo 2 days ago
.eslintignore enable eslint for test files (#1363) 4 weeks ago
.eslintplugin.js transfer-out: transfer out 1 month ago
.eslintrc.js replace console.log with nicelog (#1496) 6 days ago
.gitignore Add playwright tests (#1484) 1 week ago
.ignore [feature] ui events (#1326) 4 weeks ago
.prettierignore Revert 09c36781 & tweak linting (#1501) 5 days ago
.prettierrc [fix] pick a better default language (#1201) 1 month ago
.yarnrc.yml lite: tweak lockfile name 1 month ago transfer-out: transfer out 1 month ago [improvement] readme / contributing (#1199) 1 month ago
LICENSE transfer-out: transfer out 1 month ago Update docs links + guides + build (#1422) 2 weeks ago
lazy.config.ts [fix] Don't synchronize isReadOnly (#1396) 3 weeks ago
lerna.json transfer-out: transfer out 1 month ago
package.json update lazyrepo 2 days ago
public-yarn.lock scale exported canvases when they reach the browsers max size (#1536) 22 hours ago



Welcome to the public monorepo for tldraw.

What is tldraw?

tldraw is a collaborative digital whiteboard available at Its editor, user interface, and other underlying libraries are open source and available in this repository. They are also distributed on npm. You can use tldraw to create a drop-in whiteboard for your product or as the foundation on which to build your own inifinite canvas applications.

Learn more at

Note This repo contains source code for the current version of tldraw. You can find the source for the original version here.

Installation & Usage

To learn more about using tldraw in your React application, follow our guide here or see this StackBlitz.

import { Tldraw } from '@tldraw/tldraw'
import '@tldraw/tldraw/editor.css'
import '@tldraw/tldraw/ui.css'

function TldrawExample() {
	return <Tldraw />

Local development

To run the local development server, first clone this repo.

Install dependencies:


Start the local development server:

yarn dev

Open the example project at localhost:5420.


Our development server contains several examples that demonstrates different ways that you can customize tldraw or use its APIs. Each example is found in the apps/examples/src folder.

  • eg: localhost:5420 for the basic example.
  • eg: localhost:5420/api for the API example.

To learn more about using tldraw, visit our docs.

About this repository

Top-level layout

This repository's contents is divided across four primary sections:

  • /apps contains the source for our applications
  • /packages contains the source for our public packages
  • /scripts contains scripts used for building and publishing
  • /assets contains icons and translations relied on by the app



  • editor: the tldraw editor
  • ui: the editor's user interface
  • tldraw: the main tldraw package containing both the editor and the UI
  • primitives: low-level primitives for working with vectors and geometry
  • tlschema: shape definitions and migrations
  • tlsync-client: a library for (locally) syncronizing editor instances
  • tlstore: an in-memory reactive database
  • tlvalidate: a validation library used for run-time validation
  • tlassets: a library for working with tldraw's fonts and translations
  • file-format: a library for working with tldraw's .tldr file format
  • utils: low-level data utilities shared by other libraries


Have questions, comments or feedback? Join our discord or start a discussion.


You can find tldraw on npm here.


The source code for various apps and packages in this repository (as well as our 2.0+ distributions and releases) are currently licensed under Apache-2.0. These licenses are subject to change in our upcoming 2.0 release. If you are planning to use tldraw in a commercial product, please reach out at


Please see our contributing guide. Found a bug? Please submit an issue.

Note: we are currently unable to accept contributions on the @tldraw/tldraw or @tldraw/editor packages while we work out our final licensing.


Find us on Twitter at @tldraw or email You can also join our discord for quick help and support.