{"slug": "tldraw", "name": "tldraw", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 5, "commenters": 13, "warners": 4, "score": 1.919, "rising": -1.64, "first": "2026-01-21", "latest": "2026-07-28", "why": "I've been a happy user of tldraw as a whiteboard for ages.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 5, "neutral": 2, "compare": 2, "warn": 4}, "spark": [0, 0, 1, 1, 0, 0, 0, 0, 3, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "I've been a happy user of tldraw as a whiteboard for ages.", "kind": "", "icon": true, "domain": "tldraw.com", "github_repo": null, "official_url": "https://www.tldraw.com", "pricing": "", "aliases": ["tldraw", "tldraw offline"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 785477200, "item_id": 49092325, "url": "https://news.ycombinator.com/item?id=49092325", "by": "Brajeshwar", "date": "2026-07-28", "version": null, "stance": "recommend", "quote": "Now, I'm having fun with tldraw.", "excerpt": "Will check this out too. Now, I'm having fun with tldraw.[1] With their new tldraw offline, I can continue to work in Claude Code (and others) and I can either output or interact/input from tldraw. This is more of a free-form, infinite canvas. I treat it like Excalidraw + Draw.io + Freeform Notetaker. For text, most agents/LLM/assistants are pretty happy and smart using the same Markdown files to anywhere I have allo", "context": "", "use_case": "Infinite canvas diagramming", "switched_from": "", "story": "Hubbele: Open-source notetaking app for you and your agents"}, {"id": 783058400, "item_id": 48941150, "url": "https://news.ycombinator.com/item?id=48941150", "by": "Yenrabbit", "date": "2026-07-16", "version": null, "stance": "recommend", "quote": "I've been a happy user of tldraw as a whiteboard for ages.", "excerpt": "I've been a happy user of tldraw as a whiteboard for ages. The offline bit is neat, but the killer part of this is that it also becomes a shared workspace that both you and an agent can easily edit + explore. Highly recommend firing it up, Develop -> 'Install Agent Skills', doodling something, and then asking your agent of choice to make some edits or riff on the idea.", "context": "", "use_case": "whiteboard and agent workspace", "switched_from": "", "story": "Tldraw Offline"}, {"id": 781446097, "item_id": 48840381, "url": "https://news.ycombinator.com/item?id=48840381", "by": "ldubinets", "date": "2026-07-08", "version": null, "stance": "recommend", "quote": "Tldraw seems to be a better medium for this that mermaid", "excerpt": "This is sick! I built a similar tool at https://shimmerdiagrams.com I really enjoyed reading your blog post, it was pretty informative about the techniques. I had built mine as a prototype and specifically interested in running all models local and in browser. Tldraw seems to be a better medium for this that mermaid.", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Agent Draw: An agent draws while you talk, built on TLDraw"}, {"id": 753473104, "item_id": 47092069, "url": "https://news.ycombinator.com/item?id=47092069", "by": "laurex", "date": "2026-02-20", "version": null, "stance": "recommend", "quote": "I love tldraw", "excerpt": "I love tldraw and am excited to see the many ways the project goes, thanks!", "context": "", "use_case": "Collaborative drawing canvas", "switched_from": "", "story": "Show HN: Together, multiplayer drawing chat room"}, {"id": 747436818, "item_id": 46714801, "url": "https://news.ycombinator.com/item?id=46714801", "by": "Imustaskforhelp", "date": "2026-01-21", "version": null, "stance": "recommend", "quote": "use it with tldraw and make drawing boards", "excerpt": "I really love use fairmeeting.net as my jitsi goto server for any quick drawing board sessions or screensharing/video calling zoom alternative. I have used it for more over than 1 year/6 months with my friend where we both used and we used to very consistently think of how this service is free and how great it is etc. Thanks to fairmeeting.net ngl! One of the best services period. I wanted something in browser withou", "context": "", "use_case": "shared drawing boards", "switched_from": "", "story": "I'll pass on your zoom call."}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 782042480, "item_id": 48877655, "url": "https://news.ycombinator.com/item?id=48877655", "by": "ChrisArchitect", "date": "2026-07-11", "version": null, "stance": "warn", "quote": "isRecord is tldraw's fault", "excerpt": "I'm pretty sure isRecord is tldraw's fault https://tldraw.dev/blog/is-record-sorry (https://news.ycombinator.com/item?id=48852553)", "context": "", "use_case": "", "switched_from": "", "story": "Search for isRecord on any open source codebase"}, {"id": 755009504, "item_id": 47188094, "url": "https://news.ycombinator.com/item?id=47188094", "by": "verdverm", "date": "2026-02-27", "version": null, "stance": "warn", "quote": "I don't buy the \"it was a joke\"", "excerpt": "If you stay silent, you get walked over. They have reversed the decision [1] from the push back. (I don't buy the \"it was a joke\") [1] https://github.com/tldraw/tldraw/issues/8082#issuecomment-3964650501", "context": "", "use_case": "", "switched_from": "", "story": "Tldraw moves tests to closed source to avoid AI copies"}, {"id": 750777024, "item_id": 46923564, "url": "https://news.ycombinator.com/item?id=46923564", "by": "4corners4sides", "date": "2026-02-07", "version": null, "stance": "warn", "quote": "In the tldraw repo, users seem to clone the repo, spin up claude and then make a PR without any kind of \u201ctaste\u201d involved.", "excerpt": "Large scale AI deployment has led to a complete change in what signal code actually conveys and what it means for maintainers. Code is no longer a yardstick for effort, care or expertise. If anything a large amount of it can be the opposite. I read an article a while ago about how \u201ctaste is a moat\u201d (https://wangcong.org/2026-01-13-personal-taste-is-the-moat.html) and it kind of applies here. In that article a technic", "context": "", "use_case": "", "switched_from": "", "story": "Stay Away from My Trash"}, {"id": 750684304, "item_id": 46917769, "url": "https://news.ycombinator.com/item?id=46917769", "by": "hex-m", "date": "2026-02-06", "version": null, "stance": "warn", "quote": "tldraw used to be FOSS but they changed the license in 2023", "excerpt": "tldraw used to be FOSS but they changed the license in 2023. https://tldraw.substack.com/p/license-updates-for-the-tldraw-sdk BigBlueButton had to fork tldraw because of this. https://docs.bigbluebutton.org/new-features/#we-have-forked-the-tldraw-project-and-use-our-fork", "context": "", "use_case": "", "switched_from": "", "story": "Stay Away from My Trash"}]}], "who": [], "tags": [], "use_cases": ["infinite canvas diagramming", "whiteboard and agent workspace", "whiteboard diagramming", "collaborative drawing canvas", "shared drawing boards", "canvas ui"], "compared": [{"slug": "duckdb", "name": "DuckDB", "co": 4, "switched_from": 0, "switched_to": 0}, {"slug": "durable-objects", "name": "Durable Objects", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "claude-code", "name": "Claude Code", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "excalidraw", "name": "Excalidraw", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "hypercard", "name": "HyperCard", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 751169360, "item_id": 46948085, "url": "https://news.ycombinator.com/item?id=46948085", "by": "steveruizok", "date": "2026-02-09", "version": null, "stance": "neutral", "quote": "tldraw is not an open source project.", "excerpt": "Author here. tldraw is not an open source project. It used to be but we switched to a commercial license for our v2 in 2023. The old v1 is still available under MIT; and I try to put as much as we can under MIT license where it makes sense, but the core needs to be licensed in a way that allows us to sell it. We've always been majority source available and still accept community contributions, even though the default", "context": "", "use_case": "", "switched_from": "", "story": "Stay Away from My Trash"}, {"id": 751006576, "item_id": 46937911, "url": "https://news.ycombinator.com/item?id=46937911", "by": "aleda145", "date": "2026-02-08", "version": null, "stance": "neutral", "quote": "Built with tldraw and duckdb wasm, running on cloudflare durable objects", "excerpt": "https://kavla.dev/ It's an infinite canvas that runs SQL. I've been working with data my entire career. I feel like we need to alt+tab so much. What if we just put it all on a canvas? Currently very WIP, but there's a simple titanic demo available! Built with tldraw and duckdb wasm, running on cloudflare durable objects", "context": "", "use_case": "Canvas UI library", "switched_from": "", "story": "Ask HN: What Are You Working On? (February 2026)"}, {"id": 746309600, "item_id": 46644350, "url": "https://news.ycombinator.com/item?id=46644350", "by": "steveruizok", "date": "2026-01-16", "version": null, "stance": "neutral", "quote": "We use AI tools to develop tldraw.", "excerpt": "Hey, Steve from tldraw here. We use AI tools to develop tldraw. The tools are not the problem, they're just changing the fundamentals (e.g. a well-formed PR is no longer a sign of thoughtful engagement, a large PR shows more effort than a small PR, etc) and accelerating other latent issues in contribution. About the README etc: we ship an SDK and a lot of people use our source code as docs or a prototyping environmen", "context": "Steve from tldraw", "use_case": "Whiteboard SDK", "switched_from": "", "story": "Tldraw pauses external contributions due to AI slop"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49060856", "title": "Decker", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=46867446", "title": "Stay Away from My Trash", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=49233423", "title": "Ask HN: What are you working on? (August 2026)", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=49091730", "title": "Hubbele: Open-source notetaking app for you and your agents", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48941096", "title": "Tldraw Offline", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48877186", "title": "Search for isRecord on any open source codebase", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"recommend": 1}, "2026-02": {"warn": 3, "recommend": 1, "neutral": 1}, "2026-03": {"compare": 1}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {"recommend": 3, "warn": 1, "compare": 1, "neutral": 1}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 787740659, "item_id": 49233791, "url": "https://news.ycombinator.com/item?id=49233791", "by": "aleda145", "date": "2026-08-09", "version": null, "stance": "neutral", "quote": "Lots of fun tech used: duckDB WASM, Cloudflare Durable Objects, tldraw and pocketbase", "excerpt": "Working on open sourcing my data analytics canvas: https://kavla.dev/ I've worked on it for about a year, with 1700 commits. I've been going back and forth if I should just open up the canvas or also the multiplayer experience. I've always had the dream to make some money from a side project, but I don't think this one is it, so I'll just make the entire repo public. Just want to clean up some stuff first. Lots of fu", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}, {"id": 785477200, "item_id": 49092325, "url": "https://news.ycombinator.com/item?id=49092325", "by": "Brajeshwar", "date": "2026-07-28", "version": null, "stance": "recommend", "quote": "Now, I'm having fun with tldraw.", "excerpt": "Will check this out too. Now, I'm having fun with tldraw.[1] With their new tldraw offline, I can continue to work in Claude Code (and others) and I can either output or interact/input from tldraw. This is more of a free-form, infinite canvas. I treat it like Excalidraw + Draw.io + Freeform Notetaker. For text, most agents/LLM/assistants are pretty happy and smart using the same Markdown files to anywhere I have allo", "context": "", "use_case": "Infinite canvas diagramming", "switched_from": "", "story": "Hubbele: Open-source notetaking app for you and your agents"}, {"id": 785030720, "item_id": 49064420, "url": "https://news.ycombinator.com/item?id=49064420", "by": "WillAdams", "date": "2026-07-26", "version": null, "stance": "neutral", "quote": "I was asking if tldraw had a scripting option.", "excerpt": "I was asking if tldraw had a scripting option. Which answer after searching is yes and no: https://tldraw.dev/docs/driver", "context": "", "use_case": "", "switched_from": "", "story": "Decker"}, {"id": 784993249, "item_id": 49062078, "url": "https://news.ycombinator.com/item?id=49062078", "by": "WillAdams", "date": "2026-07-26", "version": null, "stance": "neutral", "quote": "", "excerpt": "Is there a scripting language for this? That was what really differentiated HyperCard and made it a replacement for the never-released MacBasic: https://www.folklore.org/MacBasic.html", "context": "", "use_case": "", "switched_from": "", "story": "Decker"}, {"id": 784988688, "item_id": 49061793, "url": "https://news.ycombinator.com/item?id=49061793", "by": "fastball", "date": "2026-07-26", "version": null, "stance": "compare", "quote": "tldraw just relased \"tldraw offline\"[1] which in some ways has a lot of overlap with HyperCard as well.", "excerpt": "If you want the \"agentic future\" version of this (sorry), tldraw just relased \"tldraw offline\"[1] which in some ways has a lot of overlap with HyperCard as well. [1] https://offline.tldraw.com/", "context": "", "use_case": "", "switched_from": "", "story": "Decker"}, {"id": 783058400, "item_id": 48941150, "url": "https://news.ycombinator.com/item?id=48941150", "by": "Yenrabbit", "date": "2026-07-16", "version": null, "stance": "recommend", "quote": "I've been a happy user of tldraw as a whiteboard for ages.", "excerpt": "I've been a happy user of tldraw as a whiteboard for ages. The offline bit is neat, but the killer part of this is that it also becomes a shared workspace that both you and an agent can easily edit + explore. Highly recommend firing it up, Develop -> 'Install Agent Skills', doodling something, and then asking your agent of choice to make some edits or riff on the idea.", "context": "", "use_case": "whiteboard and agent workspace", "switched_from": "", "story": "Tldraw Offline"}, {"id": 782042480, "item_id": 48877655, "url": "https://news.ycombinator.com/item?id=48877655", "by": "ChrisArchitect", "date": "2026-07-11", "version": null, "stance": "warn", "quote": "isRecord is tldraw's fault", "excerpt": "I'm pretty sure isRecord is tldraw's fault https://tldraw.dev/blog/is-record-sorry (https://news.ycombinator.com/item?id=48852553)", "context": "", "use_case": "", "switched_from": "", "story": "Search for isRecord on any open source codebase"}, {"id": 781446097, "item_id": 48840381, "url": "https://news.ycombinator.com/item?id=48840381", "by": "ldubinets", "date": "2026-07-08", "version": null, "stance": "recommend", "quote": "Tldraw seems to be a better medium for this that mermaid", "excerpt": "This is sick! I built a similar tool at https://shimmerdiagrams.com I really enjoyed reading your blog post, it was pretty informative about the techniques. I had built mine as a prototype and specifically interested in running all models local and in browser. Tldraw seems to be a better medium for this that mermaid.", "context": "", "use_case": "", "switched_from": "", "story": "Show HN: Agent Draw: An agent draws while you talk, built on TLDraw"}, {"id": 772662529, "item_id": 48291408, "url": "https://news.ycombinator.com/item?id=48291408", "by": "aleda145", "date": "2026-05-27", "version": null, "stance": "neutral", "quote": "tried out a similar thing but with tldraw as the canvas engine", "excerpt": "Really nice! I tried out a similar thing but with tldraw as the canvas engine: https://github.com/aleda145/terminaldraw I see Cate also uses node-pty. I didn't know what psuedo terminals were before, it's cool stuff", "context": "", "use_case": "", "switched_from": "", "story": "Cate v1.0 is out: The Infinite canvas workspace for developers"}, {"id": 763873969, "item_id": 47742123, "url": "https://news.ycombinator.com/item?id=47742123", "by": "aleda145", "date": "2026-04-12", "version": null, "stance": "neutral", "quote": "Built with tldraw, duckdb and cloudflare", "excerpt": "https://kavla.dev/ I've worked with data my entire career. We need to alt tab so much. What if we put it all on a canvas? Thats what I'm building with Kavla! Right now working on a CLI that connects a user's local machine to a canvas via websockets. It's open source here: https://github.com/aleda145/kavla-cli Next steps I want to do more stuff with agents. I have a feeling that the canvas is an awesome interace to se", "context": "", "use_case": "", "switched_from": "", "story": "Ask HN: What Are You Working On? (April 2026)"}, {"id": 761147473, "item_id": 47571717, "url": "https://news.ycombinator.com/item?id=47571717", "by": "bryanhogan", "date": "2026-03-30", "version": null, "stance": "compare", "quote": "Both Excalidraw and TLDraw are the two most popular apps of their kind", "excerpt": "Both Excalidraw and TLDraw are the two most popular apps of their kind, simplistic whiteboard tools, so I don't think it's that surprising and I don't see any reason why this post should be a \"Show HN\". TLDraw: https://www.tldraw.com/ Excalidraw: https://excalidraw.com/", "context": "", "use_case": "Whiteboard diagramming", "switched_from": "", "story": "I use excalidraw to manage my diagrams for my blog"}, {"id": 755009504, "item_id": 47188094, "url": "https://news.ycombinator.com/item?id=47188094", "by": "verdverm", "date": "2026-02-27", "version": null, "stance": "warn", "quote": "I don't buy the \"it was a joke\"", "excerpt": "If you stay silent, you get walked over. They have reversed the decision [1] from the push back. (I don't buy the \"it was a joke\") [1] https://github.com/tldraw/tldraw/issues/8082#issuecomment-3964650501", "context": "", "use_case": "", "switched_from": "", "story": "Tldraw moves tests to closed source to avoid AI copies"}, {"id": 754893969, "item_id": 47180873, "url": "https://news.ycombinator.com/item?id=47180873", "by": "ds300", "date": "2026-02-27", "version": null, "stance": "neutral", "quote": "the issue was created by claude using this skill https://github.com/tldraw/tldraw/blob/main/.claude/skills/write-issue/SKILL.md", "excerpt": "the issue was created by claude using this skill https://github.com/tldraw/tldraw/blob/main/.claude/skills/write-issue/SKILL.md trust me this was never a serious proposal", "context": "", "use_case": "", "switched_from": "", "story": "Tldraw making its test suite closed source to avoid \"slop-fork\""}, {"id": 753473104, "item_id": 47092069, "url": "https://news.ycombinator.com/item?id=47092069", "by": "laurex", "date": "2026-02-20", "version": null, "stance": "recommend", "quote": "I love tldraw", "excerpt": "I love tldraw and am excited to see the many ways the project goes, thanks!", "context": "", "use_case": "Collaborative drawing canvas", "switched_from": "", "story": "Show HN: Together, multiplayer drawing chat room"}, {"id": 750777024, "item_id": 46923564, "url": "https://news.ycombinator.com/item?id=46923564", "by": "4corners4sides", "date": "2026-02-07", "version": null, "stance": "warn", "quote": "In the tldraw repo, users seem to clone the repo, spin up claude and then make a PR without any kind of \u201ctaste\u201d involved.", "excerpt": "Large scale AI deployment has led to a complete change in what signal code actually conveys and what it means for maintainers. Code is no longer a yardstick for effort, care or expertise. If anything a large amount of it can be the opposite. I read an article a while ago about how \u201ctaste is a moat\u201d (https://wangcong.org/2026-01-13-personal-taste-is-the-moat.html) and it kind of applies here. In that article a technic", "context": "", "use_case": "", "switched_from": "", "story": "Stay Away from My Trash"}, {"id": 750684304, "item_id": 46917769, "url": "https://news.ycombinator.com/item?id=46917769", "by": "hex-m", "date": "2026-02-06", "version": null, "stance": "warn", "quote": "tldraw used to be FOSS but they changed the license in 2023", "excerpt": "tldraw used to be FOSS but they changed the license in 2023. https://tldraw.substack.com/p/license-updates-for-the-tldraw-sdk BigBlueButton had to fork tldraw because of this. https://docs.bigbluebutton.org/new-features/#we-have-forked-the-tldraw-project-and-use-our-fork", "context": "", "use_case": "", "switched_from": "", "story": "Stay Away from My Trash"}, {"id": 747436818, "item_id": 46714801, "url": "https://news.ycombinator.com/item?id=46714801", "by": "Imustaskforhelp", "date": "2026-01-21", "version": null, "stance": "recommend", "quote": "use it with tldraw and make drawing boards", "excerpt": "I really love use fairmeeting.net as my jitsi goto server for any quick drawing board sessions or screensharing/video calling zoom alternative. I have used it for more over than 1 year/6 months with my friend where we both used and we used to very consistently think of how this service is free and how great it is etc. Thanks to fairmeeting.net ngl! One of the best services period. I wanted something in browser withou", "context": "", "use_case": "shared drawing boards", "switched_from": "", "story": "I'll pass on your zoom call."}, {"id": 738659777, "item_id": 46166236, "url": "https://news.ycombinator.com/item?id=46166236", "by": "aleda145", "date": "2025-12-05", "version": null, "stance": "neutral", "quote": "multiplayer data canvas using tldraw and duckdb WASM", "excerpt": "I think data analysis can use more collaboration! So I'm building a multiplayer data canvas using tldraw and duckdb WASM! It's been a lot of building too Check it out https://kavla.dev/", "context": "", "use_case": "Canvas UI", "switched_from": "", "story": "Ask HN: What are you working on? (Dec 2025)"}]}