What is the difference between Next.js and Gatsby?
Next.js and Gatsby are both React-based frameworks that grew from the same problem — making React work for content sites and full apps. They diverged in philosophy.
Gatsby is fundamentally a static site generator. At build time it pulls data from any source — Markdown, headless CMS, REST, GraphQL — into an internal GraphQL layer, then generates static HTML for every page. Pages are blazing fast at runtime because they're just files. The price is build time: a 10,000-page site can take hours to rebuild.
Next.js is a hybrid framework. It can build pages statically, render them on the server per request, stream them, or render entirely on the client — and you choose per route. This flexibility is what's made it dominant.
Practical differences:
Rendering model — Gatsby: static-first, with limited deferred static and SSR added later. Next.js: hybrid by design, with SSR, SSG, ISR, streaming, and client rendering all first-class.
Data layer — Gatsby: opinionated GraphQL layer that normalizes every source. Next.js: no opinion — fetch from anything however you want.
Build time on large sites — Gatsby slows down dramatically as page count grows. Next.js with ISR can publish thousands of pages on demand without long builds.
Plugin ecosystem — Gatsby's plugin system was its main draw, with hundreds of source and transformer plugins. Next.js leans on standard npm packages instead.
Server logic — Next.js has API Routes, Server Components, and Server Actions. Gatsby's server-side story (Functions, SSR) was bolted on later and far less mature.
Maintenance status — Gatsby development effectively stopped after Netlify acquired the company in 2023. Next.js ships major releases multiple times a year.
When Gatsby was the right call:
Marketing sites with a few hundred pages from Markdown or a CMS.
Documentation sites where build time wasn't an issue.
Teams already invested in GraphQL.
For new projects today, Next.js is the default choice — even for static-heavy sites it can do everything Gatsby did and more. Astro is the modern alternative for content-focused sites where you want minimal JavaScript shipped to the browser.
This question tests ecosystem awareness. The key differentiator: Next.js supports all rendering strategies while Gatsby was primarily SSG.
Mention that Gatsby's development has slowed significantly — showing you track industry trends.