Client-Side Rendering (CSR)

Client-Side Rendering (CSR) is the pattern where the server returns a minimal HTML shell and bundle of JavaScript, and the browser fetches data and builds the entire UI client-side. Single-page applications (SPAs) built with React, Vue, or Angular without an SSR framework default to CSR.

Strengths

  • Rich interactivity. The whole app runs in the browser; transitions and state changes are instant after the initial load.
  • Simpler deployment. Static files on a CDN; no Node or backend rendering needed.
  • Clear separation. Front-end and back-end are independent; the API does data, the SPA does UI.

Weaknesses

  • Slow first paint. Users wait for JavaScript to download and execute before seeing content.
  • SEO friction. Crawlers run JavaScript, but slowly and inconsistently; metadata and OG tags are often blank in initial HTML.
  • Heavy client work. Mobile and low-end devices pay the cost.

When CSR is the right choice

  • Internal tools and dashboards behind authentication where SEO does not matter
  • Heavily interactive applications (editors, design tools, IDEs)
  • Cases where the user is logged in and personalisation requires client-side state anyway
🔗
Related Terms
SSR, React, Vue, Angular, Vite.

Subscribe to Sahil's Playbook

Clear thinking on product, engineering, and building at scale. No noise. One email when there's something worth sharing.
[email protected]
Subscribe
Mastodon