To calculate reading time for blog posts, use this formula: Reading Time = Total Words / Words Per Minute. Medium uses 265 WPM, while general web standards range from 200-250 WPM. Google’s reference standard is 200 WPM. Research shows that displaying reading time on blog posts increases engagement by 30%, helping readers commit to your content with clear expectations.

This guide covers the formula, implementation methods, and best practices for displaying reading time.

The Reading Time Formula

Basic Calculation

Formula: Reading Time = Total Words / Words Per Minute (WPM)

Platform standards:

PlatformWPM Used
Medium265 wpm
General web200-250 wpm
Google reference200 wpm

Example calculations (1,500-word article):

  • At 200 WPM: 7.5 minutes (round to 8)
  • At 250 WPM: 6 minutes
  • At 265 WPM: 5.7 minutes (round to 6)

Medium’s Algorithm Explained

Medium uses a specific formula that accounts for both text and images:

Words ÷ 265 + image time

Image time calculation:

  • First image: 12 seconds
  • Second image: 11 seconds
  • Each subsequent: Decreases by 1 second (minimum 3 seconds)

Example (1,500 words, 5 images): (1,500 ÷ 265) + (12 + 11 + 10 + 9 + 8 seconds) = 5.66 + 0.83 = ~6.5 minutes

Why Display Reading Time?

Benefits for Readers

Sets expectations: Readers can decide whether they have time to commit before starting.

Increases trust: Showing reading time demonstrates respect for the reader’s time.

Reduces anxiety: Knowing the time investment removes uncertainty about article length.

Benefits for Your Site

Reduces bounce rate: Readers who know what to expect are less likely to abandon mid-article.

Increases engagement: Medium found that reading time displays increased reader engagement.

Improves completion rates: Matching reader expectations to content length leads to more finish reads.

Professional appearance: Reading time has become expected on content sites.

Research Supporting Reading Time

Engagement impact: Displaying reading time increases engagement by 30%, according to multiple studies.

User behavior studies:

  • 55% of visitors spend fewer than 15 seconds on a page
  • Reading time helps users decide to invest more time
  • Clear expectations correlate with longer time on page
  • Medium found that posts with 7-minute read time (approximately 1,855 words at 265 WPM) achieve highest engagement

Choosing Your WPM Standard

When to Use Lower WPM (200-220)

Best for:

  • Technical content
  • Educational/instructional posts
  • Content with code or data
  • Academic or research content
  • Non-native English audiences

Why: Complex content is read more slowly. A conservative estimate prevents disappointing readers.

When to Use Medium WPM (238-250)

Best for:

  • General blogs
  • News and journalism
  • Mixed content sites
  • Business content
  • Most use cases

Why: Balances accuracy with realistic expectations for average adult readers.

When to Use Higher WPM (275-300)

Best for:

  • Light entertainment content
  • Fiction and narrative content
  • Experienced/expert audiences
  • Highly scannable content

Why: These readers move faster through familiar, easy content.

Implementation Methods

WordPress: Plugin Options

Yoast SEO: Automatically adds reading time to posts when enabled in settings.

Reading Time WP: Free plugin with customization options:

  • Custom WPM setting
  • Text label customization
  • Placement options
  • Shortcode support

WP Reading Time: Lightweight option with:

  • Per-post type settings
  • Image time adjustments
  • Position controls

Manual Implementation (HTML/JavaScript)

Simple JavaScript solution:

function calculateReadingTime(text, wpm = 250) {
  const words = text.trim().split(/\s+/).length;
  const minutes = Math.ceil(words / wpm);
  return minutes;
}

// Usage
const articleText = document.querySelector('.article-body').innerText;
const readingTime = calculateReadingTime(articleText);
document.querySelector('.reading-time').textContent =
  `${readingTime} min read`;

PHP function for WordPress themes:

function get_reading_time($post_id = null, $wpm = 250) {
    if (!$post_id) $post_id = get_the_ID();
    $content = get_post_field('post_content', $post_id);
    $word_count = str_word_count(strip_tags($content));
    $minutes = ceil($word_count / $wpm);
    return $minutes;
}

// Usage in template
echo get_reading_time() . ' min read';

Static Site Generators

Hugo: Built-in .ReadingTime variable:

<span class="reading-time">{{ .ReadingTime }} min read</span>

Jekyll: Calculate in Liquid:

{% assign words = content | number_of_words %}
{% assign minutes = words | divided_by: 250 %}
<span>{{ minutes }} min read</span>

Gatsby/Next.js: Calculate at build time or component level:

const readingTime = require('reading-time');
const stats = readingTime(postContent);
// stats.text = "5 min read"

Display Best Practices

Where to Display

Best positions:

  1. Near the title/headline (most common)
  2. Below the author byline
  3. In the article metadata section
  4. At the start of the article body

Avoid:

  • Below the fold where users won’t see it
  • At the end of the article (defeats the purpose)
  • Multiple locations (redundant)

Formatting Options

Standard formats:

  • “5 min read”
  • “5 minute read”
  • “Reading time: 5 min”
  • “⏱ 5 minutes”

Pair with other metadata:

  • “Dec 15, 2025 · 5 min read”
  • “By Author Name | 5 min read”

Rounding Rules

Standard approach:

  • Round to the nearest minute
  • Minimum of 1 minute
  • Don’t show seconds

Example rounding:

  • 4 min 15 sec → “4 min read”
  • 4 min 45 sec → “5 min read”
  • 30 seconds → “1 min read”

Advanced Considerations

Content Type Adjustments

Code-heavy posts: Add extra time for code blocks:

Reading time = Text time + (Code blocks × 0.5 minutes)

Image-heavy posts: Add ~0.2 minutes per image, especially for infographics.

Video embeds: Either exclude video posts from reading time or note “X min read + Y min video.”

Dynamic Calculation vs. Static

Static (calculated once):

  • Calculate at publish time
  • Store in post metadata
  • Faster page loads
  • Won’t update if content changes

Dynamic (calculated on load):

  • Calculates each page view
  • Always accurate
  • Slightly slower
  • Updates automatically with edits

Recommendation: Static for most sites; dynamic only if you frequently edit published posts.

Mobile Considerations

Reading time is especially valuable on mobile:

  • Users often have limited time
  • Helps decision-making for saving vs. reading now
  • Keep display compact for small screens

Common Mistakes

Inconsistent calculation: Don’t mix WPM standards across your site. Pick one and stick with it.

Ignoring long-form content: A “45 min read” disclosure is more important than “3 min read.”

Hiding the information: Make reading time visible at a glance, not buried in small text.

Over-precision: “5 min 23 sec read” is unnecessary. Round to minutes.

Frequently Asked Questions

What WPM should I use for my blog?

Use 250 WPM for general content. Adjust to 200 WPM for technical content or 275 WPM for light reading material.

Does reading time affect SEO?

Not directly as a ranking factor, but improved user engagement metrics (time on page, bounce rate) can indirectly help SEO.

Should I include images in the calculation?

For image-heavy posts, yes. Add approximately 12 seconds for the first image, decreasing for subsequent images, to a minimum of 3 seconds each.

Is it dishonest to use a higher WPM for faster times?

Use a WPM that reflects how your audience actually reads your content. If your readers typically take longer than displayed, lower your WPM.

How do I handle posts with videos?

Either exclude video posts from reading time or display separately: “5 min read + 10 min video.”

Should reading time be different for mobile vs desktop?

No—use the same calculation. Screen size affects display but not reading speed significantly for most content.

Key Takeaways

  • Formula: Reading Time = Total Words / WPM
  • Platform standards: Medium uses 265 WPM, general web uses 200-250 WPM, Google references 200 WPM
  • Medium’s algorithm: words/265 + image time (12 sec first image, decreasing to 3 sec minimum)
  • Displaying reading time increases engagement by 30%
  • Display reading time near the title where readers see it before committing
  • Round to the nearest minute; choose one WPM standard and apply consistently

Conclusion

Displaying reading time is a simple enhancement that significantly improves user experience on your blog. Use the formula (words ÷ WPM), choose a consistent speed standard (250 WPM for most blogs), and display prominently near your titles. Whether you implement via plugin or custom code, reading time helps readers commit to your content with confidence. Try our free letter counter → to get accurate word counts for calculating your posts’ reading times.