<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb" -->

---
title: We Stopped Using RSC on TanStack.com | daily.dev
description: Tanstack.com moved off React Server Components after previously adopting RSC to keep a large markdown/Shiki syntax-highlighting stack out of the client bundle....
canonical: https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: We Stopped Using RSC on TanStack.com | daily.dev
og:description: Tanstack.com moved off React Server Components after previously adopting RSC to keep a large markdown/Shiki syntax-highlighting stack out of the client bundle....
og:url: https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb
og:image: https://api.daily.dev/og/posts/2E86gsUdb.png
og:image:alt: We Stopped Using RSC on TanStack.com
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# We Stopped Using RSC on TanStack.com

**[TanStack](https://daily.dev/sources/tanstack-blog)** · 14 min read · 0 upvotes · 0 comments

## Summary

Tanstack.com moved off React Server Components after previously adopting RSC to keep a large markdown/Shiki syntax-highlighting stack out of the client bundle. Once the team replaced that stack with two small custom packages (@tanstack/markdown and @tanstack/highlight), the RSC architecture's benefits shrank while its complexity (Flight serialization, runtime boundaries, bundler context) remained. They reverted to regular SSR with server functions, measured comparable or better Lighthouse scores, lower Total Blocking Time, smaller overall transfer sizes, and reduced repeated payload costs across page navigations, at the cost of about 18-19 KiB more client-side rendering code. The author argues RSC's core value is keeping large dependencies off the client, and that value evaporates once the dependency is small.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://tanstack.com/blog/we-stopped-using-rsc-on-tanstack-com>

## Questions this post answers

### Why did tanstack.com stop using React Server Components?

Tanstack.com dropped RSC once its markdown and syntax-highlighting dependency, previously 358 KiB, was replaced with small packages (@tanstack/markdown and @tanstack/highlight) totaling about 27 KiB. With the dependency no longer huge, the runtime boundaries, Flight serialization, and bundler complexity RSC required stopped being worth it, so the site returned to regular SSR with server functions.

_Weighing whether RSC is worth the added complexity for your app is easier when you track real-world migration writeups like this on daily.dev._

### Does removing React Server Components and switching to regular SSR hurt performance?

No, on the two production routes measured, current SSR payloads were smaller overall (889 KiB vs 1,086 KiB on one blog route, 836 KiB vs 1,017 KiB on a docs route) with lower Total Blocking Time, even though the SSR renderer itself added roughly 18-19 KiB compared to the RSC version. Repeated navigations favor SSR further since only changed content data is sent, not full serialized Flight payloads.

_Developers comparing SSR and RSC performance tradeoffs can follow real benchmark breakdowns like this on daily.dev._

### What is the actual technical benefit of React Server Components versus the routing and data-loading story often attached to them?

The concrete benefit is keeping expensive server-only logic and dependencies, such as large parsers, formatters, or highlighters, out of the client bundle entirely. Routing, data loading, and colocation are often bundled into the broader RSC pitch by React core and Next.js, but those aspects were not what made RSC valuable for a content-heavy site; the dependency-hiding capability was the only benefit that mattered in practice.

_Anyone deciding whether RSC fits their architecture can dig into concrete tradeoff analyses like this on daily.dev._

## Similar posts on daily.dev

- [TanStack Start gets RSC](https://daily.dev/posts/tanstack-start-gets-rsc-mijrowtfp) · Bytes by ui.dev · 60 upvotes · 5 comments
- [Less code, more power: Why we rolled our own React Server Components framework](https://daily.dev/posts/less-code-more-power-why-we-rolled-our-own-react-server-components-framework-ipff0pnuv) · RUBYLAND · 0 upvotes · 0 comments
- [React Server Components in TanStack – Frontend Masters Blog](https://daily.dev/posts/react-server-components-in-tanstack-frontend-masters-blog-daelxa2oz) · Frontend Masters · 0 upvotes · 0 comments
- [TanStack Start RSC vs. Next.js RSC: Performance, DX, and production readiness](https://daily.dev/posts/tanstack-start-rsc-vs-next-js-rsc-performance-dx-and-production-readiness-57ke4idgh) · LogRocket · 0 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#react](https://daily.dev/tags/react)

[View this post on daily.dev](https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"We Stopped Using RSC on TanStack.com","url":"https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb"},"datePublished":"2026-08-23T12:23:55.630Z","dateModified":"2026-09-14T07:31:53.440Z","description":"Tanstack.com moved off React Server Components after previously adopting RSC to keep a large markdown/Shiki syntax-highlighting stack out of the client bundle....","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f22852cee63f4c88cd47ebe0488891c0?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/f22852cee63f4c88cd47ebe0488891c0?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"TanStack","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"TanStack","logo":"https://media.daily.dev/image/upload/s--TVIrvIT7--/f_auto,q_auto/v1787487634/logos/tanstack-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/tanstack-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"webdev,react","timeRequired":"PT14M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"TanStack","item":"https://daily.dev/sources/tanstack-blog"},{"@type":"ListItem","position":3,"name":"We Stopped Using RSC on TanStack.com"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/we-stopped-using-rsc-on-tanstack-com-2e86gsudb#faq","mainEntity":[{"@type":"Question","name":"Why did tanstack.com stop using React Server Components?","acceptedAnswer":{"@type":"Answer","text":"Tanstack.com dropped RSC once its markdown and syntax-highlighting dependency, previously 358 KiB, was replaced with small packages (@tanstack/markdown and @tanstack/highlight) totaling about 27 KiB. With the dependency no longer huge, the runtime boundaries, Flight serialization, and bundler complexity RSC required stopped being worth it, so the site returned to regular SSR with server functions. Weighing whether RSC is worth the added complexity for your app is easier when you track real-world migration writeups like this on daily.dev."}},{"@type":"Question","name":"Does removing React Server Components and switching to regular SSR hurt performance?","acceptedAnswer":{"@type":"Answer","text":"No, on the two production routes measured, current SSR payloads were smaller overall (889 KiB vs 1,086 KiB on one blog route, 836 KiB vs 1,017 KiB on a docs route) with lower Total Blocking Time, even though the SSR renderer itself added roughly 18-19 KiB compared to the RSC version. Repeated navigations favor SSR further since only changed content data is sent, not full serialized Flight payloads. Developers comparing SSR and RSC performance tradeoffs can follow real benchmark breakdowns like this on daily.dev."}},{"@type":"Question","name":"What is the actual technical benefit of React Server Components versus the routing and data-loading story often attached to them?","acceptedAnswer":{"@type":"Answer","text":"The concrete benefit is keeping expensive server-only logic and dependencies, such as large parsers, formatters, or highlighters, out of the client bundle entirely. Routing, data loading, and colocation are often bundled into the broader RSC pitch by React core and Next.js, but those aspects were not what made RSC valuable for a content-heavy site; the dependency-hiding capability was the only benefit that mattered in practice. Anyone deciding whether RSC fits their architecture can dig into concrete tradeoff analyses like this on daily.dev."}}]}
```

