finds.dev← search

// the find

TanStack/router

★ 14,796 · TypeScript · MIT · updated Jul 2026

🤖 A client-first, server-capable, fully type-safe router and full-stack framework for the web (React and more).

TanStack Router is a file-based, fully type-safe router for React (and now Solid and Vue) that treats URL search params as first-class typed state rather than raw strings. TanStack Start builds on top of it to add SSR, streaming, and server functions, positioning itself as a Next.js alternative with stronger TypeScript guarantees. It's for teams who've been burned by `useSearchParams()` returning `string | null` and want the type system to actually catch route mismatches.

The search param schema validation with Zod or Valibot is genuinely well-designed — you declare the shape once and get typed reads, writes, and URL serialization for free. The route tree is generated from the file system but stays statically typed end-to-end, so navigating to a route with the wrong params is a compile error, not a runtime 404. Built-in prefetching and loader-based data fetching are integrated at the router level rather than bolted on, which means you get cache invalidation without wiring up a separate data-fetching library for basic cases. The benchmark suite (client nav, bundle size) is checked into the repo and runs in CI, which is more discipline than most router projects show.

TanStack Start is still in beta and the migration story from Next.js is rough — server components are not supported, so if your team has built on RSC you're starting over. The generated `routeTree.gen.ts` file is a footgun in monorepos and large apps: it gets regenerated on every dev server restart and routinely causes merge conflicts. The Vue and Solid adapters trail the React implementation; features land in React first and sometimes sit unported for months. Bundle size for the full router is heavier than React Router v6 or Wouter for apps that don't need the type-safe search params story, so it's overkill for simple SPAs.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →