Next.js Rendering Mode Chooser
Static, ISR, SSR, or client-side? Six questions, one recommendation, and the export or segment config to use.
Recommendation
Why
Mode comparison
| Mode | HTML at build | Personalization | Freshness | SEO | Cost |
|---|---|---|---|---|---|
About this tool
Next.js blurs "static" and "dynamic" behind segment config, fetch cache options, and cookies. This chooser picks a starting point — you still validate with real traffic and TTFB.
The six questions cover how fresh your data must be, whether pages are personalized per user, and SEO needs. A marketing homepage usually wants static HTML; a dashboard behind login often needs SSR or client fetching. Mixing modes in one app is normal — pick per route, not once for the whole project.
Defaults assume the App Router unless you say Pages. ISR revalidate seconds are suggestions, not gospel. Calling cookies() or headers() in a Server Component forces dynamic rendering even when you expected static output.
Read more
Free books, courses, and software
Get my programming books, course editions, and complete software.
Get the download library →