{"slug": "taffy", "name": "Taffy", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 3, "commenters": 6, "warners": 0, "score": 2.863, "rising": 1.67, "first": "2026-01-14", "latest": "2026-08-19", "why": "The results have been fantastic. Thank you for this awesome library. I love it.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 2, "compare": 1, "warn": 0}, "spark": [0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "The results have been fantastic. Thank you for this awesome library. I love it.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/dioxuslabs/taffy", "official_url": "https://github.com/DioxusLabs/taffy", "pricing": "", "aliases": ["Taffy", "taffy"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 789809120, "item_id": 49363070, "url": "https://news.ycombinator.com/item?id=49363070", "by": "actsasbuffoon", "date": "2026-08-19", "version": null, "stance": "recommend", "quote": "The results have been fantastic. Thank you for this awesome library. I love it.", "excerpt": "I used this for an internal project I can\u2019t talk about, but it was a lifesaver. It allowed me to drop a really powerful layout system into a project that wasn\u2019t doing traditional UI at all. The results have been fantastic. Thank you for this awesome library. I love it.", "context": "", "use_case": "layout system in non-UI project", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 789801568, "item_id": 49362598, "url": "https://news.ycombinator.com/item?id=49362598", "by": "fschuett", "date": "2026-08-19", "version": null, "stance": "recommend", "quote": "It is very useful, thanks for your work.", "excerpt": "I used it in https://fschutt.github.io/printpdf for the HTML-to-PDF layout, just as a note. It is very useful, thanks for your work. Good luck on Blitz.", "context": "", "use_case": "HTML-to-PDF layout", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 746998069, "item_id": 46687379, "url": "https://news.ycombinator.com/item?id=46687379", "by": "simonw", "date": "2026-01-19", "version": null, "stance": "recommend", "quote": "Taffy a solid library choice", "excerpt": "One of the big open questions for me right now concerns how library dependencies are used. Most of the big ones are things like skia, harfbuzz, wgpu - all totally reasonable IMO. The two that stand out for me as more notable are html5ever for parsing HTML and taffy for handling CSS grids and flexbox - that's vendored with an explanation of some minor changes here: https://github.com/wilsonzlin/fastrender/blob/19bf103", "context": "", "use_case": "CSS grid and flexbox layout", "switched_from": "", "story": "Scaling long-running autonomous coding"}, {"id": 745394291, "item_id": 46587143, "url": "https://news.ycombinator.com/item?id=46587143", "by": "nicoburns", "date": "2026-01-12", "version": null, "stance": "recommend", "quote": "Taffy [1] (box-level layout) are both avaiable with a similar style of API", "excerpt": "I see you're using html5ever for HTML parsing, and like it's trait/callback based API (me too). It looks like style/layout is not in scope at the moment, but if you're ever looking at adding style/layout capabilities to lightpanda, then you may find it useful to know that Stylo [0] (CSS / style system) and Taffy [1] (box-level layout) are both avaiable with a similar style of API (also Parley [2] which has a slightly", "context": "", "use_case": "Box-level layout", "switched_from": "", "story": "Lightpanda migrate DOM implementation to Zig"}]}], "caveats": [], "who": [], "tags": [], "use_cases": ["layout system in non-ui project", "html-to-pdf layout", "flexbox and grid layout", "css layout engine", "css grid and flexbox layout", "box-level layout"], "compared": [{"slug": "wgpu", "name": "wgpu", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "skia", "name": "Skia", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "blitz", "name": "Blitz", "co": 3, "switched_from": 0, "switched_to": 0}, {"slug": "servo", "name": "Servo", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [{"id": 789799168, "item_id": 49362448, "url": "https://news.ycombinator.com/item?id=49362448", "by": "nicoburns", "date": "2026-08-19", "version": null, "stance": "recommend", "quote": "I maintain Taffy: AMA.", "excerpt": "I maintain Taffy: AMA. I am currently in the process of building a wider browser engine / GUI toolkit on top of it (https://github.com/dioxuslabs/blitz). As part of that I am implementing a lot of the messier parts of CSS layout (floats, etc), and also grinding on fixing all the WPT tests which we track here: https://blitz.is/status/wpt/css/css-flexbox. The vision is a complete standalone implementation of the web la", "context": "Taffy maintainer", "use_case": "UI layout library", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 733249431, "item_id": 45828089, "url": "https://news.ycombinator.com/item?id=45828089", "by": "nicoburns", "date": "2025-11-05", "version": null, "stance": "recommend", "quote": "Taffy for box-level layout", "excerpt": "Yes, we've deliberately tried to make use of existing libraries (either from other browser engines or general purpose libraries) where possible. The main thing we pull in from Servo (which is also shared with Firefox) is the Stylo CSS engine, which is a really fantastic piece of software (although underdocumented - a situtation I am trying to improve). I was recently able to add support for CSS transitions and animat", "context": "", "use_case": "", "switched_from": "", "story": "Dillo, a multi-platform graphical web browser"}], "threads": [{"url": "https://news.ycombinator.com/item?id=49286987", "title": "Taffy: A flexible, high-performance, cross-platform UI layout library", "mentions": 4}, {"url": "https://news.ycombinator.com/item?id=46686418", "title": "Scaling long-running autonomous coding", "mentions": 2}, {"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=49232138", "title": "Windows 11's built-in Weather app wastes more than 1 GB of RAM", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46769965", "title": "When AI 'builds a browser,' check the repo before believing the hype", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46624541", "title": "Scaling long-running autonomous coding", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {"compare": 1, "recommend": 1, "neutral": 1}, "2026-02": {}, "2026-03": {}, "2026-04": {}, "2026-05": {}, "2026-06": {}, "2026-07": {}, "2026-08": {"neutral": 1, "recommend": 2}, "2026-09": {}, "2026-10": {}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 789809120, "item_id": 49363070, "url": "https://news.ycombinator.com/item?id=49363070", "by": "actsasbuffoon", "date": "2026-08-19", "version": null, "stance": "recommend", "quote": "The results have been fantastic. Thank you for this awesome library. I love it.", "excerpt": "I used this for an internal project I can\u2019t talk about, but it was a lifesaver. It allowed me to drop a really powerful layout system into a project that wasn\u2019t doing traditional UI at all. The results have been fantastic. Thank you for this awesome library. I love it.", "context": "", "use_case": "layout system in non-UI project", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 789801568, "item_id": 49362598, "url": "https://news.ycombinator.com/item?id=49362598", "by": "fschuett", "date": "2026-08-19", "version": null, "stance": "recommend", "quote": "It is very useful, thanks for your work.", "excerpt": "I used it in https://fschutt.github.io/printpdf for the HTML-to-PDF layout, just as a note. It is very useful, thanks for your work. Good luck on Blitz.", "context": "", "use_case": "HTML-to-PDF layout", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 789796096, "item_id": 49362256, "url": "https://news.ycombinator.com/item?id=49362256", "by": "nicoburns", "date": "2026-08-19", "version": null, "stance": "neutral", "quote": "This project predates Clay by several years.", "excerpt": "This project predates Clay by several years. Clay's earliest commit was 2024. Taffy was forked from https://github.com/vislyhq/stretch in 2022, and Stretch's first commit was 2019. The real inspiration is https://github.com/react/yoga (as used by React Native). Stretch was originally a Rust port/rewrite of Yoga. An associated project: https://github.com/DioxusLabs/anyrender does take a lot of inspiration from Clay's ", "context": "", "use_case": "", "switched_from": "", "story": "Taffy: A flexible, high-performance, cross-platform UI layout library"}, {"id": 787815345, "item_id": 49238459, "url": "https://news.ycombinator.com/item?id=49238459", "by": "josephg", "date": "2026-08-09", "version": null, "stance": "neutral", "quote": "I'm using taffy for layout", "excerpt": "Thanks! Here's a little ios schedule app I made with it: https://github.com/josephg/dweb-sched It's got full native calendar integration - so if you want you can favorite a session and it'll automatically add the session to your calendar in ios. (Or un-favorite to remove). It looks and feels completely native. I'm using taffy for layout - which is a pure native rust implementation of CSS's flexbox & grid layout engin", "context": "", "use_case": "flexbox and grid layout", "switched_from": "", "story": "Ask HN: What are you working on? (August 2026)"}, {"id": 787814337, "item_id": 49238396, "url": "https://news.ycombinator.com/item?id=49238396", "by": "josephg", "date": "2026-08-09", "version": null, "stance": "neutral", "quote": "It uses taffy for layout", "excerpt": "I ported the leptos rust web framework to run on native platforms. Currently it works on ios, macos and linux (GTK). Eventually want to also add support for windows and TUI as well. It uses taffy for layout - which gives you the same flexbox and grid layout engines that web browsers use. Components are all fully native for the platform, via their corresponding binding crates (objc, gtk4, etc). UI library is here: htt", "context": "", "use_case": "", "switched_from": "", "story": "Windows 11's built-in Weather app wastes more than 1 GB of RAM"}, {"id": 748361440, "item_id": 46772590, "url": "https://news.ycombinator.com/item?id=46772590", "by": "simonw", "date": "2026-01-26", "version": null, "stance": "neutral", "quote": "Taffy is related to Servo too, though apparently not officially part of the Servo project", "excerpt": "Taffy is related to Servo too, though apparently not officially part of the Servo project - but Servo does use it. https://github.com/DioxusLabs/taffy Used here (I think): https://github.com/servo/servo/tree/c639bb1a7b3aa0fd5e02b40d487fb49439f63bf8/components/layout/taffy/stylo_taffy", "context": "", "use_case": "CSS layout engine", "switched_from": "", "story": "When AI 'builds a browser,' check the repo before believing the hype"}, {"id": 746998626, "item_id": 46687414, "url": "https://news.ycombinator.com/item?id=46687414", "by": "sealeck", "date": "2026-01-19", "version": null, "stance": "neutral", "quote": "", "excerpt": "I think the other question is how far away this is from a \"working\" browser. It isn't impossible to render a meaningful subset of HTML (especially when you use external libraries to handle a lot of this). The real difficulty is doing this (a) quickly, (b) correctly and (c) securely. All of those are very hard problems, and also quite tricky to verify. I think this kind of approach is interesting, but it's a bit sad t", "context": "", "use_case": "", "switched_from": "", "story": "Scaling long-running autonomous coding"}, {"id": 746998069, "item_id": 46687379, "url": "https://news.ycombinator.com/item?id=46687379", "by": "simonw", "date": "2026-01-19", "version": null, "stance": "recommend", "quote": "Taffy a solid library choice", "excerpt": "One of the big open questions for me right now concerns how library dependencies are used. Most of the big ones are things like skia, harfbuzz, wgpu - all totally reasonable IMO. The two that stand out for me as more notable are html5ever for parsing HTML and taffy for handling CSS grids and flexbox - that's vendored with an explanation of some minor changes here: https://github.com/wilsonzlin/fastrender/blob/19bf103", "context": "", "use_case": "CSS grid and flexbox layout", "switched_from": "", "story": "Scaling long-running autonomous coding"}, {"id": 746065075, "item_id": 46629067, "url": "https://news.ycombinator.com/item?id=46629067", "by": "jkelleyrtp", "date": "2026-01-14", "version": null, "stance": "compare", "quote": "taffy for layout sounds eerily similar to our existing open source Rust browser blitz.", "excerpt": "WGPU for render, winit for window, servo css engine, taffy for layout sounds eerily similar to our existing open source Rust browser blitz. https://github.com/dioxuslabs/blitz Maybe we ended up in the training data!", "context": "", "use_case": "", "switched_from": "", "story": "Scaling long-running autonomous coding"}, {"id": 745394291, "item_id": 46587143, "url": "https://news.ycombinator.com/item?id=46587143", "by": "nicoburns", "date": "2026-01-12", "version": null, "stance": "recommend", "quote": "Taffy [1] (box-level layout) are both avaiable with a similar style of API", "excerpt": "I see you're using html5ever for HTML parsing, and like it's trait/callback based API (me too). It looks like style/layout is not in scope at the moment, but if you're ever looking at adding style/layout capabilities to lightpanda, then you may find it useful to know that Stylo [0] (CSS / style system) and Taffy [1] (box-level layout) are both avaiable with a similar style of API (also Parley [2] which has a slightly", "context": "", "use_case": "Box-level layout", "switched_from": "", "story": "Lightpanda migrate DOM implementation to Zig"}]}