This page is also available as Markdown: request this page's URL with an
Accept: text/markdown header. For an index of Next.js documentation, see /docs/llms.txt.staleTimes
Last updated March 3, 2026
staleTimes is an experimental feature that enables caching of page segments in the Client Cache.
You can enable this experimental feature and provide custom revalidation times by setting the experimental staleTimes flag:
next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
experimental: {
staleTimes: {
dynamic: 30,
static: 180,
},
},
}
module.exports = nextConfigThe static and dynamic properties correspond with the time period (in seconds) based on different types of link prefetching.
- The
dynamicproperty is used when the page is neither statically generated nor fully prefetched (e.g. withprefetch={true}).- Default: 0 seconds (not cached)
- The
staticproperty is used for statically generated pages, or when theprefetchprop onLinkis set totrue, or when callingrouter.prefetch.- Default: 5 minutes
Good to know:
- Loading boundaries are considered reusable for the
staticperiod defined in this configuration.- This doesn't affect partial rendering, meaning shared layouts won't automatically be refetched on every navigation, only the page segment that changes.
- This doesn't change back/forward caching behavior to prevent layout shift and to prevent losing the browser scroll position.
Version History
| Version | Changes |
|---|---|
v15.0.0 | The dynamic staleTimes default changed from 30s to 0s. |
v14.2.0 | Experimental staleTimes introduced. |
Was this helpful?