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. Callingcookies() orheaders() in a Server Component forces dynamic rendering even when you expected static output.