To show estimated reading time on a Webflow blog, you can use a small JavaScript snippet that counts the words in your rich text element on page load, or calculate the reading time beforehand and save it in a CMS number field. The JavaScript method is automated and requires no manual entry, while the CMS field method gives you absolute control over the displayed numbers.
As a Webflow developer who has built over 450 websites, I know that small details make a massive difference in user engagement. When visitors arrive on a blog post, they quickly scan the page to decide if the content is worth their time.
Estimated reading time acts as a micro trust signal. It sets expectations immediately, letting a reader know if they are committing to a quick two-minute tip or a deep ten-minute guide.
Here is how to set up both methods, along with best practices for designing a clean, professional blog post byline.
Why Metadata and Reading Time Lift Engagement
If a visitor sees a wall of text without any context, their initial reaction is hesitation. By placing the publication date, author name, and estimated reading time at the top of your article, you provide immediate structure.
For coaches and SaaS founders, this metadata builds editorial authority. It proves that you write fresh, structured content. For developers and marketers, it provides a clean user experience that makes articles feel like they belong in a premium publication.
When readers know that an article will only take four minutes to read, they are far more likely to scroll down and start reading rather than bouncing back to search results.
Method 1: The Automated JavaScript Approach
If you want a set-it-and-forget-it system, JavaScript is the best choice. The script automatically reads your blog post body, counts the words, calculates the time, and displays the result when the page loads.
To set this up, you need to add custom attributes to two elements on your blog post template page.
First, select your rich-text element that displays your post body. Go to the element settings panel, scroll to the bottom, and add a custom attribute:
- Name:
data-reading-time - Value:
content
Second, select the text block where you want the reading time to appear (for example, inside your byline section). Add another custom attribute:
- Name:
data-reading-time - Value:
target
Now, open your Blog Posts Template page settings. Scroll down to the Before