Canvas · Free Tool

tldraw File Viewer (.tldr)

Drop in a .tldr file and see what’s in it — every page, pannable and zoomable — then export it as an image or convert it to Excalidraw. All on your own device.

Loading tool…

A .tldr file is a drawing saved by tldraw — the whiteboard at tldraw.com, the tldraw VS Code extension, or an app built on the tldraw SDK. Double-click one and your computer usually has no idea what to do with it. This page opens it: drop the file in and every page renders straight away, with no account, no install and no upload.

Under the hood the file is converted to Excalidraw’s open format and shown read-only, so you can pan, zoom and export — PNG for a slide or a ticket, SVG for a vector, or an editable .excalidraw file if you want to keep working on it somewhere else.

The conversion is our own code, not tldraw’s, so it tells you exactly how faithful it was. Boxes, ellipses, sticky notes, text, arrows, freehand strokes, lines, frames and embedded images come across; anything it can only approximate or can’t draw is listed above the canvas rather than silently dropped.

Give your drawings somewhere to live

OmniCanvas keeps whiteboard drawings next to the notes that explain them — on one infinite canvas with folders, search and sync across your devices. Import your tldraw page and keep going. Free to start.

Sign up free

No credit card · 30 days free

What a .tldr file actually is

Open one in a text editor and you’ll find JSON. Modern files (tldraw 2 onwards) are an envelope with three keys: a `tldrawFileFormatVersion`, a `schema` describing which migrations the data has been through, and a flat `records` array. Each record has a `typeName` — a document, a page, a shape, a binding between an arrow and the shape it points at, or an asset such as an embedded image.

Shapes store their position relative to whatever contains them (a page, a frame or a group), a rotation, and a `props` object with the style: colour, fill, dash, size and font are named values like "blue", "semi" and "draw" rather than raw numbers. Text is stored as rich text in recent versions, and freehand strokes are packed into compact base64 strings rather than plain point lists — which is why a viewer has to decode the file rather than just draw what it finds.

Files from the original tldraw (version 1, now at old.tldraw.com) use a different layout, with shapes grouped under each page and points stored as `[x, y]` pairs. This page reads both.

How to open a .tldr file without installing anything

Drag the file onto the drop zone above, or click Choose .tldr file. If the file has several pages, each one gets a tab. The canvas is in view mode: drag to pan, scroll or pinch to zoom, and nothing you do changes the drawing.

The other honest answer is that tldraw.com will open your file for free too — use its file menu to open it — and the VS Code extension opens .tldr files inside the editor. Those are the right choice if you want to keep editing in tldraw. This page is for the other cases: you only need to see what’s in the file, you need it as an image, or you want it in an Excalidraw-compatible format.

Converting tldraw to PNG, SVG or Excalidraw

Three exports work on whichever page is showing. PNG gives you a flat image for documents, chat and tickets. SVG stays vector, so it scales cleanly and can be restyled in a design tool. And .excalidraw writes the converted page as an Excalidraw scene you can open at excalidraw.com, in Obsidian’s Excalidraw plugin, or in OmniCanvas — fully editable, with labels still attached to their boxes and arrows still attached to the shapes they connect.

Everything is rendered on your device. There’s no queue, no watermark and no file-size upsell. A very large drawing can exceed what a browser will draw into a single image; if that happens the image export says so, and the .excalidraw download still works.

What converts exactly, and what doesn’t

Rectangles, ellipses and diamonds map one-to-one. Triangles, stars, hexagons, arrows-as-shapes, hearts and the other tldraw outlines have no Excalidraw equivalent, so they are drawn as filled outlines with the label laid over them — they look right and arrows still attach to them. Sticky notes become coloured cards, text keeps its size, alignment and colour, and freehand strokes keep their pressure when they were drawn with a pen.

Some things are approximated, and the viewer says so on the page: clouds become ellipses, elbow arrows become straight segments, highlighter strokes become translucent strokes, and cropped images appear uncropped. Embeds, bookmarks and videos show as labelled cards with their link. Images that were uploaded to tldraw’s servers rather than stored inside the file can’t be shown without fetching them from the internet, which this page deliberately never does — you’ll see a placeholder saying so. Fonts are the nearest Excalidraw match rather than tldraw’s own.

Your file stays on your device

A .tldr file is plain JSON, so there is no technical reason for a viewer to upload it — and this one doesn’t. The file is read by your browser, converted by code running in the page, and drawn locally. Nothing is sent to a server and nothing is stored after you close the tab.

The single exception is the optional Save to my canvas button. It sends the converted page to OmniCanvas so it can become a note in your account, because that is the whole point of the button. Everything else on this page works with no account at all.

Frequently asked questions

How do I open a .tldr file?

Drop it onto this page. It renders in your browser with no account and no install, and multi-page files get a tab per page. You can also open it at tldraw.com or with the tldraw VS Code extension if you want to keep editing it in tldraw.

Is my file uploaded anywhere?

No. The file is read and converted entirely on your device, and nothing is transmitted or kept. The only exception is the optional “Save to my canvas” button, which sends the converted page to your OmniCanvas account.

Can I convert a tldraw drawing to Excalidraw?

Yes. Use the .excalidraw button to download the open page as an Excalidraw scene. Boxes keep their labels and arrows stay attached, so it is editable at excalidraw.com, in Obsidian’s Excalidraw plugin or in OmniCanvas. Anything that had to be approximated is listed on the page before you export.

Why does part of my drawing show as a placeholder?

Either the shape has no Excalidraw equivalent (embeds, bookmarks, videos and custom shapes from apps built on the tldraw SDK), or it is an image that was uploaded to tldraw’s servers rather than saved inside the file. The viewer never fetches files from the internet, so it shows a labelled box instead.

Does it open old tldraw v1 files?

Yes. Files from the original tldraw (old.tldraw.com) are recognised and converted too — rectangles, ellipses, triangles, sticky notes, text, arrows and freehand strokes. Some v1 styling, such as exact stroke weights, is approximated.

Can I edit the drawing here?

No — the viewer is read-only on purpose, so you can pan and zoom without changing anything. To edit, download the .excalidraw file, open the original at tldraw.com, or save it to your OmniCanvas canvas, where it opens as a fully editable drawing.

More free tools