Menu
NextToolbar

The toolbar

Every segment of the bar, its hover panel, minimizing and themes.

The toolbar is a full-width strip floating 16 px above the bottom of the window. Every segment summarizes one aspect of the current page; hover it (or focus it with Tab) to open a panel with the details.

 N │ 200  # f9b45c  ⌥ /blog/[slug]  Static? │ ⏱ 39 ms server 46 ms nav  ⇄ fetch 3  ⚠ errors 0 │ … ⌘ Next 16.3.6  ◐  ⊗
 1    2      3            4            5            6                     7          8            9          10  11

Segments

#SegmentWhat it showsHover panel
1LogoThe NextToolbar mark. Click to minimize.—
2StatusHTTP status: gradient chip for 2xx, amber for 3xx, red for 4xx/5xx, grey — when unknownStatus and whether it came from a document request or a client navigation (RSC)
3Request idFirst 6 characters of the server request id, or profiler when request insights are off— Click opens the profiler on this request
4RouteThe route pattern that matched, e.g. /blog/[slug]Pattern, real path and every params.* value
5Render modeStatic, Dynamic, Static?, Rendering… or ?Why, plus what dev can and can't tell. See Render mode
6Timingserver: server render time. TTFB: time to first byte of a full load. nav: duration of a client navigation's RSC requestEach value, and a hint to enable request insights if they're off
7FetchServer fetch calls and cache hit rate. Only with request insightsCache summary and every fetch. See Fetch cache
8ErrorsClient errors + server error of this page. Red when > 0Server errors (click → profiler) and client errors (expand → stack)
9NextInstalled Next.js versionReact version, request insights on/off, HMR socket connected/disconnected
10ThemeCurrent themeClick cycles system → light → dark
11MinimizeClose iconCollapses the toolbar to a circle

The status, route and timing always describe the page you're on. When you navigate client-side, the toolbar switches to the new page's data as soon as its RSC request finishes.

Where each value comes from

ValueSource
Status, TTFBBrowser Navigation Timing (responseStatus, responseStart)
Status and nav on client navigationsBrowser Resource Timing of the ?_rsc= request
Route (Next 16)route of the request insight Next sends over the dev HMR socket
Route (Next 15 / no insights)Rebuilt from usePathname() and useParams()
Render modeNext's dev static indicator data, corrected with fetch information
Server time, fetches, server errorsNext 16 request insights
Client errorswindow error and unhandledrejection events

More in How it works.

Errors

The errors segment counts client errors on the current page plus one server error if the server request for this page ended with an error.

  • Server errors show the span where the error originated and its message, e.g. AppRender.waitShellReady · boom. Click the row (Details) to open the profiler on that request with the error expanded.
  • Client errors (uncaught exceptions and unhandled promise rejections) expand in place to show their stack trace.
  • Client errors reset when you navigate to another page and are capped at the last 20. The profiler's Clear empties them too.

The server stack trace never reaches the browser. It's printed in the terminal running next dev.

Minimizing

Click the logo or the close button and the toolbar shrinks into a 52 px circle in the bottom-left corner. The circle keeps you informed:

  • a gradient dot when the page returned 2xx; amber for 3xx, red for 4xx/5xx, grey when unknown;
  • a red bubble with the count when the page has errors.

Click the circle to expand the toolbar again. The collapsed state is remembered per browser.

Theme

The toolbar follows the OS light/dark preference by default. The theme button cycles system → light → dark and remembers the choice. Set the initial theme with the theme prop; see Configuration.

Responsive behavior

ViewportBehavior
wider than 1024 pxEverything visible
up to 1024 pxHides the Next version, the fetch / errors labels, the TTFB/nav value when server time is available, and the % hit label
up to 640 px8 px margins; the bar scrolls horizontally. The logo on the left always minimizes it

Keyboard and accessibility

  • Tab moves through the segments; a focused segment opens its panel.
  • Esc closes the profiler.
  • Animations are disabled when the OS asks for reduced motion.
  • The toolbar lives in a Shadow DOM: your CSS can't break it and its CSS can't leak into your app.