This page is also available as Markdown at /docs/app/api-reference/config/next-config-js/devIndicators.md. For an index of all documentation, see /docs/llms.txt.
devIndicators
Last updated April 10, 2026
devIndicators allows you to configure the on-screen indicator that gives context about the current route you're viewing during development.
Types
devIndicators: false | {
position?: 'bottom-right'
| 'bottom-left'
| 'top-right'
| 'top-left', // defaults to 'bottom-left',
},
Setting devIndicators to false will hide the indicator, however Next.js will continue to surface any build or runtime errors that were encountered.
Troubleshooting
Indicator not marking a route as static
If you expect a route to be static and the indicator has marked it as dynamic, it's likely the route has opted out of prerendering.
You can confirm if a route is prerendered or dynamically rendered by building your application using next build --debug, and checking the output in your terminal. Static (or prerendered) routes will display a ○ symbol, whereas dynamic routes will display a ƒ symbol. For example:
Build Output
Route (app)
┌ ○ /_not-found
└ ƒ /products/[id]
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demand
There are two reasons a route might opt out of prerendering:
- The presence of Request-time APIs which rely on request information.
- An uncached data request, like a call to an ORM or database driver.
Check your route for any of these conditions, and if you are not able to statically render the route, then consider using loading.js or <Suspense /> to leverage streaming.
Version History
| Version | Changes |
|---|---|
v16.0.0 | appIsrStatus, buildActivity, and buildActivityPosition options have been removed. |
v15.2.0 | Improved on-screen indicator with new position option. appIsrStatus, buildActivity, and buildActivityPosition options have been deprecated. |
v15.0.0 | Static on-screen indicator added with appIsrStatus option. |
Was this helpful?