{"slug": "tanstack-router", "name": "TanStack Router", "category": "dev-libs", "category_name": "Libraries and frameworks", "description": "", "recommenders": 4, "commenters": 7, "warners": 2, "score": 1.863, "rising": 0.02, "first": "2025-11-24", "latest": "2026-10-26", "why": "I would highly recommend just checking out TanStack Router/Start instead.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 4, "neutral": 0, "compare": 1, "warn": 2}, "spark": [1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1], "listed": true, "loved": [], "caveat": "", "short_quote": "I would highly recommend just checking out TanStack Router/Start instead.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/tanstack/router", "official_url": "https://tanstack.com/router", "pricing": "", "aliases": ["TanStack Router"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 803819170, "item_id": 50238698, "url": "https://news.ycombinator.com/item?id=50238698", "by": "esperent", "date": "2026-10-26", "version": null, "stance": "recommend", "quote": "I use Hono + Tanstack router for the first two.", "excerpt": "I'm going to push back against Astro because all the server island stuff is over-engineered for a blog, while in the meantime Astro is not designed for more complex sites so I'm not sure what it's purpose is really. I would say that in the era of agentic coding you don't need any framework. Just a backend + router + markdown generator. I use Hono + Tanstack router for the first two. Tell any decent LLM to wire those ", "context": "", "use_case": "blog routing", "switched_from": "", "story": "Removing Next.js Got My Blog to 100 on Every Lighthouse Category"}, {"id": 757848754, "item_id": 47365547, "url": "https://news.ycombinator.com/item?id=47365547", "by": "jvidalv", "date": "2026-03-13", "version": null, "stance": "recommend", "quote": "Vite + Tanstack Router", "excerpt": "Exactly, this why if I use next.js I always hijack the api routes and use Elysia, it comes with something called eden that makes the typing e2e fantastic, can't recommend it enough. As a side note, I'm slowly moving out of Next.js, as you said, is bloated, full of stuff that is just noise and that benefits them (more network requests more money) for little user benefit. Right now for me the gold standard is Vite + Ta", "context": "", "use_case": "", "switched_from": "", "story": "Vite 8.0 Is Out"}, {"id": 739820976, "item_id": 46238811, "url": "https://news.ycombinator.com/item?id=46238811", "by": "hmcdona1", "date": "2025-12-11", "version": null, "stance": "recommend", "quote": "I would highly recommend just checking out TanStack Router/Start instead.", "excerpt": "I would highly recommend just checking out TanStack Router/Start instead. It fills a different niche, with a slightly different approach, that the Next.js app router just hasn't prioritized enabling anymore. What app router has become has its ideal uses, but if you explicitly preferred the DX of the pages router, you might enjoy TanStack Router/Start even more.", "context": "", "use_case": "", "switched_from": "", "story": "Denial of service and source code exposure in React Server Components"}, {"id": 736508192, "item_id": 46031762, "url": "https://news.ycombinator.com/item?id=46031762", "by": "ownagefool", "date": "2025-11-24", "version": null, "stance": "recommend", "quote": "Tanstack Router: Supports runtime validation libraries such as z0d", "excerpt": "Sure. You tend to think about the edges of your application. 1. Router Tanstack Router: Supports runtime validation libraries such as z0d. So I have routes such as example.com/viewer/$uuid/$number, it should 400 if those aren't actually validate uuid and numbers. React Router: Supports Types, but every type is a string because, well, they technically are, but this isn't useful in practice in my opinion. There are 3rd", "context": "", "use_case": "Route parameter validation", "switched_from": "", "story": "`satisfies` is my favorite TypeScript keyword (2024)"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 769713920, "item_id": 48107120, "url": "https://news.ycombinator.com/item?id=48107120", "by": "meander_water", "date": "2026-05-12", "version": null, "stance": "warn", "quote": "campaign affecting Tanstack Router", "excerpt": "This appears to be part of the same Mini Shai-Hulud campaign affecting Tanstack Router https://www.securityweek.com/tanstack-mistral-ai-uipath-hit-in-fresh-supply-chain-attack/", "context": "", "use_case": "", "switched_from": "", "story": "Supply chain compromise in mistralai Python package"}, {"id": 769633536, "item_id": 48102096, "url": "https://news.ycombinator.com/item?id=48102096", "by": "isityettime", "date": "2026-05-11", "version": null, "stance": "warn", "quote": "Oh look, today furnished us with a new example", "excerpt": "Oh look, today furnished us with a new example: https://github.com/TanStack/router/issues/7383", "context": "", "use_case": "", "switched_from": "", "story": "Incident CVE-2024-Yikes"}]}], "who": [], "tags": [], "use_cases": ["blog routing", "route parameter validation"], "compared": [{"slug": "next-js", "name": "Next.js", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "react-router", "name": "React Router", "co": 2, "switched_from": 0, "switched_to": 0}, {"slug": "tanstack-start", "name": "TanStack Start", "co": 2, "switched_from": 0, "switched_to": 0}], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=50237712", "title": "Removing Next.js Got My Blog to 100 on Every Lighthouse Category", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48104081", "title": "Supply chain compromise in mistralai Python package", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=48086082", "title": "Incident CVE-2024-Yikes", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47685945", "title": "We moved Railway's front end off Next.js. Builds went from 10 minutes to under 2", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=47360730", "title": "Vite 8.0 Is Out", "mentions": 1}, {"url": "https://news.ycombinator.com/item?id=46236924", "title": "Denial of service and source code exposure in React Server Components", "mentions": 1}], "sentiment_by_month": {"2025-11": {"recommend": 1}, "2025-12": {"recommend": 1}, "2026-01": {}, "2026-02": {}, "2026-03": {"recommend": 1}, "2026-04": {"compare": 1}, "2026-05": {"warn": 2}, "2026-06": {}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {"recommend": 1}}, "versions": [], "version_unnamed": 0, "family_ref": null, "runs_on": null, "lines": [], "quotes": [{"id": 803819170, "item_id": 50238698, "url": "https://news.ycombinator.com/item?id=50238698", "by": "esperent", "date": "2026-10-26", "version": null, "stance": "recommend", "quote": "I use Hono + Tanstack router for the first two.", "excerpt": "I'm going to push back against Astro because all the server island stuff is over-engineered for a blog, while in the meantime Astro is not designed for more complex sites so I'm not sure what it's purpose is really. I would say that in the era of agentic coding you don't need any framework. Just a backend + router + markdown generator. I use Hono + Tanstack router for the first two. Tell any decent LLM to wire those ", "context": "", "use_case": "blog routing", "switched_from": "", "story": "Removing Next.js Got My Blog to 100 on Every Lighthouse Category"}, {"id": 769713920, "item_id": 48107120, "url": "https://news.ycombinator.com/item?id=48107120", "by": "meander_water", "date": "2026-05-12", "version": null, "stance": "warn", "quote": "campaign affecting Tanstack Router", "excerpt": "This appears to be part of the same Mini Shai-Hulud campaign affecting Tanstack Router https://www.securityweek.com/tanstack-mistral-ai-uipath-hit-in-fresh-supply-chain-attack/", "context": "", "use_case": "", "switched_from": "", "story": "Supply chain compromise in mistralai Python package"}, {"id": 769633536, "item_id": 48102096, "url": "https://news.ycombinator.com/item?id=48102096", "by": "isityettime", "date": "2026-05-11", "version": null, "stance": "warn", "quote": "Oh look, today furnished us with a new example", "excerpt": "Oh look, today furnished us with a new example: https://github.com/TanStack/router/issues/7383", "context": "", "use_case": "", "switched_from": "", "story": "Incident CVE-2024-Yikes"}, {"id": 763143729, "item_id": 47696483, "url": "https://news.ycombinator.com/item?id=47696483", "by": "chrisweekly", "date": "2026-04-08", "version": null, "stance": "compare", "quote": "TanStack Router is an alternative to React Router.", "excerpt": "(facepalm) Thank you, but no. I typed \"Router\" when I meant \"Query\". TanStack Query is the newer name for the library FKA react-query. TanStack Router is an alternative to React Router. TanStack Start is an alternative to Remix/react-router-7's framework mode. The naming history and evolution of react-router and its relationship to Remix is a bit convoluted, but an unrelated tangent to the point I was making.", "context": "", "use_case": "", "switched_from": "", "story": "We moved Railway's front end off Next.js. Builds went from 10 minutes to under 2"}, {"id": 757848754, "item_id": 47365547, "url": "https://news.ycombinator.com/item?id=47365547", "by": "jvidalv", "date": "2026-03-13", "version": null, "stance": "recommend", "quote": "Vite + Tanstack Router", "excerpt": "Exactly, this why if I use next.js I always hijack the api routes and use Elysia, it comes with something called eden that makes the typing e2e fantastic, can't recommend it enough. As a side note, I'm slowly moving out of Next.js, as you said, is bloated, full of stuff that is just noise and that benefits them (more network requests more money) for little user benefit. Right now for me the gold standard is Vite + Ta", "context": "", "use_case": "", "switched_from": "", "story": "Vite 8.0 Is Out"}, {"id": 739820976, "item_id": 46238811, "url": "https://news.ycombinator.com/item?id=46238811", "by": "hmcdona1", "date": "2025-12-11", "version": null, "stance": "recommend", "quote": "I would highly recommend just checking out TanStack Router/Start instead.", "excerpt": "I would highly recommend just checking out TanStack Router/Start instead. It fills a different niche, with a slightly different approach, that the Next.js app router just hasn't prioritized enabling anymore. What app router has become has its ideal uses, but if you explicitly preferred the DX of the pages router, you might enjoy TanStack Router/Start even more.", "context": "", "use_case": "", "switched_from": "", "story": "Denial of service and source code exposure in React Server Components"}, {"id": 736508192, "item_id": 46031762, "url": "https://news.ycombinator.com/item?id=46031762", "by": "ownagefool", "date": "2025-11-24", "version": null, "stance": "recommend", "quote": "Tanstack Router: Supports runtime validation libraries such as z0d", "excerpt": "Sure. You tend to think about the edges of your application. 1. Router Tanstack Router: Supports runtime validation libraries such as z0d. So I have routes such as example.com/viewer/$uuid/$number, it should 400 if those aren't actually validate uuid and numbers. React Router: Supports Types, but every type is a string because, well, they technically are, but this isn't useful in practice in my opinion. There are 3rd", "context": "", "use_case": "Route parameter validation", "switched_from": "", "story": "`satisfies` is my favorite TypeScript keyword (2024)"}]}