Add

Lorem ipsum

Lorem ipsum

A
A
A
Easter egg

3 views

3 min

How to Display a Dynamic Remaining Reading Time in Webflow

Learn how to display a reading time indicator that updates as you scroll in Webflow with JavaScript.

In this tutorial, Sandro, cofounder of Gemeos Webflow agency, shows you how to display a dynamic remaining reading time that updates as you scroll in Webflow.

Example

Scroll the page — the counter appears in the bottom-right corner

📖
Calculating...
0%
VariableValueDescription
WPM200Words per minute (average reading speed)
wordsCounted automaticallyNumber of words in .article-content
totalMinCalculatedTotal reading time in minutes
remainingUpdated on scrollMinutes left based on progress

1. Add the elements in Webflow

Create a Text Block with the ID reading-time-left wherever you want to display the remaining time (article header, sticky sidebar...). Add the article-content class to your content area.

2. Add the script in Footer code

(function() {
var content = document.querySelector('.article-content');
var display = document.getElementById('reading-time-left');
if (!content || !display) return;

var words = content.innerText.trim().split(/\s+/).length;
var WPM = 200;
var totalMin = Math.ceil(words / WPM);

function update() {
var scrolled = window.scrollY;
var docH = document.documentElement.scrollHeight - window.innerHeight;
var pct = Math.min(1, scrolled / docH);
var wordsRead = Math.floor(words * pct);
var remaining = Math.ceil((words - wordsRead) / WPM);
if (remaining <= 0) {
display.textContent = 'Article finished ✓';
} else if (remaining === totalMin) {
display.textContent = totalMin + ' min read';
} else {
display.textContent = remaining + ' min remaining' + (remaining > 1 ? 's' : '');
}
}

update();
window.addEventListener('scroll', update, { passive: true });
})();

3. Variant: combined progress bar

Combine it with the reading progress bar for a complete visual and text indicator.

good to know

Average reading speed is 200 to 250 words per minute for technical content. Adjust WPM based on your audience: 180 for dense content, 250 for lighter content. The calculation is based on page scroll, not the actual time spent on the article: a user who leaves the article open without scrolling will still see the total time.

Conclusion

Remaining reading time helps reduce drop-off by giving readers a clear goal. Use cases:

  • Long blog posts (5 min+)
  • Technical guides and tutorials
  • Documentation pages

Good to know

Heading

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

Lorem ipsum dolor sit amet consectetur.

Lorem ipsum dolor sit amet consectetur. Aliquam orci sagittis dignissim sapien praesent donec.

Lorem ipsum

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.

Published on

You might be interested in these tutorials

Similar tutorials

SEO / GEO

5 min read

5 views

How to Set Up a Redirect in Webflow? (2026)

Updated on 19.12.2025 by Sandro DA SILVA

SEO / GEO

5 min read

5 views

Add structured data to your Webflow site?

Updated on 21.08.2025 by Sandro DA SILVA

No-code

5 min read

5 views

How to Obfuscate a Link in Webflow

Updated on 23.04.2025 by Sandro DA SILVA

Let’s f*****G GO !!

Ready to launch
Your business?

Alexandre

Max

Enora

Bryan

Cannelle

Tiphaine

You'll :heart: our collaboration...