Jamstack is an approach to building websites in which pages are generated ahead of time as plain files and served from a CDN, rather than assembled by a server on every visit. Anything interactive, like forms, search or checkout, is handled by JavaScript in the browser calling APIs.
Where the name came from and how the pieces fit
The term was coined around 2015 by Mathias Biilmann, co-founder of Netlify, from JavaScript, APIs and Markup. A Jamstack site typically has three parts:
- A build step. A static site generator or framework such as Astro, Hugo, Eleventy or Next.js turns templates and content into finished HTML files.
- Static hosting on a CDN. Those files are copied to servers worldwide, so each visitor gets them from a nearby location.
- APIs for live features. Payments go to Stripe, forms to a serverless function, content edits come from a headless CMS that triggers a rebuild.
Netlify itself has since moved away from the label, and many frameworks now mix pre-built pages with server rendering, so treat Jamstack as a pattern rather than a strict rulebook.
Example: a restaurant site
A restaurant's menu, opening hours and gallery change perhaps weekly. Staff edit the menu in a headless CMS; saving it triggers a rebuild that takes a minute and republishes the HTML. Table bookings run through an embedded booking service's API. No database sits behind the public pages, so there is nothing for an attacker to inject into and nothing to slow down on a busy Friday night.
Is Jamstack right for your site?
It works very well for sites whose content is the same for every visitor: service businesses, portfolios, documentation, blogs, many shops. You gain speed, cheap hosting and a small attack surface. It is a weaker fit when most pages are personalised or change every minute, such as a marketplace with live stock across thousands of listings, where a fully dynamic website may be simpler.
Jamstack mistakes
- Forgetting the rebuild. An editor changes content but no build hook is wired up, so the live site never updates.
- Shipping everything as client-side JavaScript. That throws away the speed and SEO benefit of pre-built HTML.
- Exposing API secrets in the browser bundle instead of calling them from a function.
- Very slow builds once pages number in the tens of thousands, without incremental builds.
Related terms
- Static site generator: the tool that does the pre-building.
- Headless CMS: where editors manage content.
- CDN: the network that serves the files.
- Serverless: the usual home for form and payment logic.