Productive Toolbox

Scroll Depth Calculator

Calculate scroll depth instantly from document height, viewport size, and scroll position โ€” or track your real live scroll depth on this page. Free browser-based tool with engagement scoring and export for marketers, UX designers, and developers.

Calculation Mode

Scroll Depth (%) = ((Current Scroll + Viewport Height) รท Document Height) ร— 100

Load example:

Scroll Inputs

Scroll Depth โ€” Result

Bounced

Most visitors are leaving early without engaging with the main content.

Pixels Viewed

900 px

Pixels Remaining

4,100 px

Reading Completion

18.0%

Recommendation

โ†’Move your most important message and call-to-action higher up the page, above where most visitors stop scrolling.

Formula & Calculation Breakdown

Formula

Scroll Depth (%) = ((Current Scroll + Viewport Height) รท Document Height) ร— 100

Calculation

(0 + 900) รท 5000 ร— 100 = 18.00%

What Is a Scroll Depth Calculator?

A scroll depth calculator is a free browser-based tool that measures how far a visitor has scrolled through a webpage, expressed as both a percentage and a pixel value. It answers a question every content-heavy website needs to understand: how much of my page do visitors actually see before they leave?

Unlike full analytics platforms that require tracking scripts, dashboards, and historical data, this calculator lets you compute scroll depth instantly from three numbers โ€” document height, viewport height, and scroll position โ€” or switch to Live Browser Simulation mode to see the real scroll depth of the page you're on right now, calculated from your actual browser window as you scroll.

This tool is built for digital marketers, SEO professionals, UX designers, product managers, web developers, bloggers, website owners, and analytics professionals who want to understand content engagement, optimize article length, and identify where visitors typically stop reading. It includes engagement scoring, calculation history, scenario comparison, an embeddable JavaScript scroll tracker snippet, and export as CSV, JSON, or a print-ready report โ€” entirely in your browser.

How the Scroll Depth Calculator Works

In Manual Calculation mode, enter your page's document height, viewport height, and current scroll position (or drag the slider), and the calculator instantly returns the percentage of the page that has been viewed. In Live Browser Simulation mode, the calculator listens to this page's real scroll events and computes your actual scroll depth in real time.

Core Formula

Effective Scroll = Current Scroll + Viewport Height

Scroll Depth (%) = (Effective Scroll รท Document Height) ร— 100, clamped 0โ€“100

  • โ†’Document Height: The total scrollable height of the page in pixels โ€” the denominator of the formula.
  • โ†’Viewport Height: The visible height of the browser window. Because a visitor has 'seen' everything from the top of the page down to the bottom of their current viewport, this is added to the scroll position.
  • โ†’Sticky Header Height: Optional โ€” reduces the effective viewport, since a fixed header permanently occupies part of the visible screen and isn't new content being read.
  • โ†’Footer Height: Optional โ€” reduces the effective document height, since footer content (links, copyright text) generally isn't the 'content' being measured for engagement.
  • โ†’Offset Adjustment: Optional โ€” a manual pixel correction added to the scroll position, useful for anchor-link offsets or fixed positioning quirks.

How to Use the Scroll Depth Calculator

Step-by-Step Guide

  1. 1Choose a Calculation Mode: Select Manual Calculation to enter your own numbers, or Live Browser Simulation to track this page's real scroll position.
  2. 2Try an Example (Optional): Click Blog Post, Landing Page Bottom, or Long-Form Article to instantly load realistic sample figures.
  3. 3Enter Your Page Dimensions: Type the document height and viewport height, then drag the scroll position slider. Results update instantly with a 150ms debounce.
  4. 4Set Optional Adjustments: Expand Optional Inputs to account for a sticky header, footer height, or a manual offset adjustment.
  5. 5Review Scroll Depth and Engagement: Check the gauge, progress bar, pixels viewed and remaining, and engagement rating (Bounced through Completed).
  6. 6Compare, Export, or Share: Use Compare as A/B to evaluate two pages side by side, export as CSV or JSON, print a formatted report, or copy a shareable URL.

Key Features

  • โœ“Manual Calculation and Live Browser Simulation modes
  • โœ“Live mode tracks this page's real scroll position in real time
  • โœ“Interactive circular gauge with color-coded engagement rating
  • โœ“Sticky header, footer height, and offset adjustment support
  • โœ“5-tier engagement scoring (Bounced to Completed) with recommendations
  • โœ“Pixels viewed, pixels remaining, and reading completion estimate
  • โœ“Copy-ready embeddable JavaScript scroll tracker snippet
  • โœ“Compare-as-A/B page comparison mode
  • โœ“Shareable calculation URL using query parameters
  • โœ“Export report as CSV or JSON with full breakdown
  • โœ“Print-ready formatted report
  • โœ“Copy full report to clipboard in one click
  • โœ“Calculation history โ€” save and reload up to 20 past results
  • โœ“No signup required โ€” 100% free to use
  • โœ“All processing runs locally โ€” no data leaves your browser

Real-World Use Cases

Blog Post Engagement Check

A blogger's post is 6,000px tall with a 900px viewport. At a scroll position of 2,700px, the calculator returns a 60% scroll depth in the Engaged tier โ€” confirming most readers are reaching well past the introduction.

Landing Page Bottom Reached

A 3,000px landing page with an 800px viewport shows a visitor scrolled to 2,200px, reaching exactly 100% scroll depth โ€” Completed โ€” meaning the visitor saw the entire page, including the final call-to-action.

Long-Form Article Drop-Off

A 12,000px long-form article with a 1,000px viewport shows a typical visitor stopping at 3,500px scrolled, a 37.5% scroll depth in the Skimmed tier โ€” signaling that content and calls-to-action placed near the bottom likely go unseen by most readers.

Accounting for a Sticky Header and Footer

A page with an 80px sticky header and 150px footer is measured with the same raw numbers as the Manual mode default. After the header reduces effective viewport and the footer reduces effective document height, the calculated scroll depth is slightly higher than the raw formula would suggest โ€” a more accurate reflection of actual content consumed.

Live Page Self-Test

A UX designer switches to Live Browser Simulation mode while reading this very tool's page, watching the scroll depth percentage update in real time as they scroll โ€” a quick way to sanity-check how the formula behaves against real browser scroll events.

Tips & Best Practices

Pro Tips

  • ๐Ÿ’กPlace your most important call-to-action within the scroll depth your typical visitors actually reach โ€” measure real behavior with analytics rather than assuming everyone scrolls to the bottom.
  • ๐Ÿ’กAccount for sticky headers and footers when interpreting scroll depth โ€” a large sticky header can meaningfully shrink the effective viewport a visitor sees at any given scroll position.
  • ๐Ÿ’กUse scroll depth alongside time-on-page โ€” a visitor who scrolls to 90% instantly by pressing End didn't necessarily read the content, while a slower scroll pattern suggests genuine reading.
  • ๐Ÿ’กTest different content lengths and structures on similar pages to see how scroll depth patterns shift with formatting changes like subheadings, images, and shorter paragraphs.
  • ๐Ÿ’กUse the embeddable JavaScript snippet as a starting point for real analytics integration โ€” swap the console.log call for your analytics platform's event tracking call.

Common Mistakes to Avoid

  • โœ•Don't measure scroll depth using only the raw scroll position without adding viewport height โ€” a visitor has 'seen' everything down to the bottom of their screen, not just the exact scroll offset.
  • โœ•Don't ignore mobile viewport differences โ€” a page that shows 100% scroll depth on a tall desktop viewport might show a much lower depth on a short mobile viewport for the same scroll position.
  • โœ•Don't place critical content or forms below the depth most visitors realistically reach without first checking real scroll behavior data.
  • โœ•Don't forget that document height can change dynamically on pages with lazy-loaded content or infinite scroll โ€” a static one-time measurement may not reflect the true final page height.
  • โœ•Don't treat a single scroll depth snapshot as a trend โ€” track it across many sessions to understand typical visitor behavior on a page.

Scroll Depth Engagement Table

Scroll DepthEngagement LevelWhat It Means
0% โ€“ 25%BouncedVisitors are leaving early without engaging with the main content.
25% โ€“ 50%SkimmedVisitors are skimming the page but not reaching deeper content.
50% โ€“ 75%EngagedVisitors are engaging with a majority of the page content.
75% โ€“ 90%Highly EngagedMost visitors are reading through nearly all of the page.
90% โ€“ 100%CompletedVisitors are reaching the very bottom of the page.

* Scroll Depth = ((Current Scroll + Viewport Height) รท Document Height) ร— 100, clamped between 0% and 100%.

Frequently Asked Questions

What is scroll depth?

Scroll depth is the percentage of a webpage a visitor has scrolled through, measuring how much content they've been exposed to relative to the total page length.

How do I calculate scroll depth?

Add the current scroll position to the viewport height, divide by the total document height, and multiply by 100: Scroll Depth = ((Scroll + Viewport) รท Document Height) ร— 100, clamped between 0% and 100%.

Why do you add viewport height to the scroll position?

A visitor has 'seen' everything from the top of the page down to the bottom of their currently visible screen, not just the exact pixel their scroll position sits at. Adding viewport height accounts for the content currently on screen.

What does Live Browser Simulation mode do?

It attaches a real scroll listener to this page and computes your actual scroll depth using your browser's live document height, viewport height, and scroll position โ€” updating in real time as you scroll, without any manual input.

How do sticky headers and footers affect scroll depth?

A sticky header permanently occupies part of the viewport, so it reduces the effective viewport height used in the calculation. A footer isn't typically considered readable content, so it reduces the effective document height. Both are optional adjustments in this calculator.

What is a good scroll depth for a webpage?

This varies heavily by content type and length, but generally 50%+ scroll depth suggests a majority of visitors are engaging with the main content, while under 25% suggests most visitors are bouncing before reaching meaningful content.

Can I use this calculator to track a live website?

Yes โ€” use Live Browser Simulation mode to see this page's own real-time scroll depth, or copy the embeddable JavaScript snippet to add basic scroll depth logging to your own site.

Is my data private when using this calculator?

Yes. All calculations run entirely in your browser using JavaScript. Your page dimensions and scroll data are never transmitted to any server, stored in any database, or accessible to anyone other than you. The calculation history feature saves results only to your browser's local storage, which you can clear at any time.

Who Uses This Calculator?

๐Ÿ“ฃ

Digital Marketers & SEO Professionals

Understand how far visitors read into content and optimize page structure and calls-to-action accordingly.

๐ŸŽจ

UX Designers

Identify where visitors typically stop scrolling to guide layout, content hierarchy, and visual design decisions.

๐Ÿ“Š

Product Managers

Use scroll depth as a proxy for content engagement when evaluating page redesigns or content strategy changes.

๐Ÿ’ป

Web Developers

Prototype and sanity-check scroll depth tracking logic before implementing it in production analytics.

โœ๏ธ

Bloggers & Website Owners

Gauge whether readers are making it through long-form content or dropping off early.

๐Ÿ“ˆ

Analytics Professionals

Cross-check scroll depth formulas and edge cases against a simple, transparent reference calculator.