Local diagnostic

Overflow Inspector

Locate rendered elements that cross a boundary and separate page-level risks from intentional local scrolling.

The demo and copied script run in the current browser. No page content or result is uploaded.

Scoped preview

Rendered fixture

320px content boundary

Release workspace

Responsive rowFits boundary
Fixed report strip544px authored width
build/reflow-lab/2026-08-04/commit/8f7a2d4e9c1b6a3f0d5c7e2a
Scanned elements
--
Page risks
--
Local scroll items
--

Findings

Boundary report

ElementClassificationOverflow
Run the fixture inspection to populate results.

Local DevTools script

Inspect the current page boundary

(() => {
  const root = document.documentElement;
  const viewport = root.clientWidth;
  const visible = (element) => {
    const rect = element.getBoundingClientRect();
    const style = getComputedStyle(element);
    return rect.width > 0 && rect.height > 0 && style.display !== 'none';
  };
  const selector = (element) =>
    element.id ? '#' + CSS.escape(element.id) :
    element.tagName.toLowerCase() + [...element.classList].slice(0, 2).map((name) => '.' + CSS.escape(name)).join('');
  const findings = [...document.body.querySelectorAll('*')]
    .filter(visible)
    .map((element) => {
      const rect = element.getBoundingClientRect();
      return {
        element: selector(element),
        leftOverflow: Math.max(0, Math.round(-rect.left)),
        rightOverflow: Math.max(0, Math.round(rect.right - viewport)),
        renderedWidth: Math.round(rect.width),
      };
    })
    .filter((item) => item.leftOverflow > 1 || item.rightOverflow > 1);
  console.table(findings);
  return findings;
})();

Ready to copy.