Free Tool
Reading Time Badge
Automatically calculate and display estimated reading time on your Squarespace blog posts. Customize the format, style, and colors.
Why this matters
Reading time badges set expectations before a reader commits. When people know an article takes 5 minutes, they’re more likely to start it than when the length is unknown. Medium popularized this pattern and it’s become a trust signal for content-heavy sites.
Customize
200 wpm
Appearance
13px
Live Preview
Generated Code
<style>
.reading-time-badge {
display: inline-block;
font-size: 13px;
color: #555555;
background: #f5f5f5;
padding: 4px 12px;
border-radius: 3px;
margin: 8px 0 16px;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
line-height: 1;
}
</style>
<script>
(function() {
// Only run on blog post pages
var article = document.querySelector('.blog-item-wrapper, article.entry');
if (!article) return;
// Count words in the post body
var body = article.querySelector('.body, .entry-content, .sqs-block-content');
if (!body) return;
var text = body.innerText || body.textContent || '';
var words = text.trim().split(/\s+/).filter(function(w) { return w.length > 0; }).length;
var minutes = Math.max(1, Math.ceil(words / 200));
// Create badge element
var badge = document.createElement('div');
badge.className = 'reading-time-badge';
badge.innerHTML = '{time} min read'.replace('{time}', minutes);
// Insert into page
var title = article.querySelector('h1.entry-title, .blog-item-title');
if (title) title.insertAdjacentElement('afterend', badge);
})();
</script>How to add this to Squarespace
- Go to Settings → Advanced → Code Injection
- Paste the generated code into the Footer section.
- Click Save and open any blog post to see the badge.
- The script automatically detects blog posts and calculates reading time from the post body text.
A little over your head?
No shame — this stuff is hard. Let the pros handle it.
