Hydration Proof

Search documentation

Find a page or section

Hydration error tools compared

Where each tool runs, when, and what it can see.

Here are the main hydration error tools compared. Use React's console or the Next.js overlay while working on a page. Use lint rules to catch risky code before it runs. Use hydration-proof to check routes in CI, and Sentry to see errors from real users.

Hydration error tools compared

ToolBest forMain limit
React browser consoleDebugging the page you have openReports only what React logs
Next.js dev overlayFinding a mismatch while codingDevelopment only
@builder.io/react-hydration-overlaySeeing a server/client diffThe open page, not a route-wide CI check
Sentry Session ReplayInvestigating real user sessionsReports after a user encounters the error
eslint-plugin-react-hooksCatching impure render codeCannot see runtime HTML
eslint-plugin-validate-jsx-nestingCatching invalid JSX nestingCannot see markup across components
eslint-plugin-hydration-proofCatching hydration patterns in codeCannot see changes outside your source
hydration-proofChecking routes in a browser or CINeeds a running app or build

Runtime tools show what happened on a page. Linters inspect source code before it runs, so they cannot detect a CDN rewrite, browser extension, or changed server response.

When to choose each

The browser console and the Next.js dev overlay

Use the console and overlay while developing a page. React can name the component and show a diff, but these tools cover only the page you open. See hydration-proof vs the Next.js dev overlay.

react-hydration-overlay

@builder.io/react-hydration-overlay adds a visual diff when an error happens on the open page. It requires an app wrapper and plugin. See hydration-proof vs react-hydration-overlay for setup and limitations.

Sentry

Sentry Session Replay helps investigate an error a real user encountered. Its hydration diff compares the page before and after React hydrated. See hydration-proof vs Sentry.

ESLint rules

Lint rules run in your editor and CI before the page loads:

hydration-proof

Use hydration-proof to check routes in a browser, including a production build. It runs in CI and reports the changed element, both values, and a likely cause. Start with the quick start, then add it to CI.

How the tools fit together

You can use them together:

  1. Lint rules in the editor, so the common mistakes never get written.
  2. The console or the dev overlay while you build a page.
  3. hydration-proof in CI, for every route and the production build.
  4. Sentry in production, for what only real users' browsers show.

Sources

Claims about other tools, as of September 2026: