Free SEO Tool

Free Read Time Calculator

Calculate read time for any text. Word count, average pace, mobile vs. desktop. Free, instant.

4.6on G2
4.8on Trustpilot
Used by 25,000+ marketers

What this tool does

Read Time Calculator delivers fast, reliable results for calculate read time for any text. word count, average pace, mobile vs. desktop. .

Designed to fit into your existing SEO and content workflow with no setup overhead.

How to use it

Five steps.

1

Paste your text or word count

Paste the article text directly, or enter the word count if you already know it — supports both inputs.

2

Pick a WPM rate

Choose 200 (technical), 225 (general), 250 (narrative), or 275 (light content) based on your audience and content density.

3

Add image and code counts

For image-heavy posts, add the image count (12 sec each); for technical content, add the code-block count (30 sec each).

4

View calculated read time

See the suggested label format ("X min read") plus the calculation breakdown so you understand the math.

5

Copy and paste into your blog

Use the copy button to paste the label near your article title and byline; recalculate whenever the article is meaningfully edited.

When teams use it

Six common workflows.

Blog publishing on WordPress or Ghost

A blog publisher needs accurate read-time labels per article that match actual reader engagement, with adjustments for image-heavy and code-heavy content beyond Medium's default formula.

Newsletter writer optimizing for retention

A Substack or newsletter writer needs to set accurate "X min read" expectations in email previews to reduce open-and-bounce behavior, calibrating per-article based on actual length and embedded media.

Technical blog with code-heavy tutorials

A developer blog publishing tutorials with 5-15 code blocks per post needs read time that accounts for code-reading slowdowns, producing labels like "12 min read + 4 min hands-on" rather than misleading short estimates.

Editorial team standardizing across authors

A 6-12 author publication needs consistent read-time methodology across writers using different platforms (Notion, Google Docs, Markdown), centralized via a single calculator that produces uniform output.

Content marketer generating internal docs

A content marketer producing internal training docs and onboarding content needs read-time estimates for course planning, helping employees budget time before clicking into long-form internal articles.

SEO-focused publisher tracking dwell time

An SEO-focused content team optimizing for dwell time and Core Web Vitals needs accurate read time to set reader expectations, reducing bounce-from-SERP behavior for under-disclosed long-form content.

Platform guides

Integrate with major platforms.

WordPress

  1. Calculate read time in Grigora's tool from your article text or word count.
  2. Paste the resulting "X min read" label into a Custom Field on the post.
  3. Display in the theme template via the_field("read_time") or similar.
  4. For automation, install Reading Time WP plugin or add code to functions.php using str_word_count and ceil.
  5. Verify the label appears on published posts.

Ghost

  1. Ghost auto-calculates reading time using its built-in 275 WPM algorithm.
  2. For more accurate estimates, override via the Editor > Post Settings > "Reading Time" field.
  3. Calculate the override value in Grigora's tool with your preferred WPM.
  4. Save the post and verify the time displays on the live URL.
  5. Repeat for image-heavy or code-heavy posts where Ghost's default underestimates.

Next.js / MDX blogs

  1. Install remark-reading-time as an MDX plugin.
  2. Configure WPM in the plugin options (default 265, recommend 225 for technical content).
  3. The plugin injects readingTime into MDX frontmatter at build time.
  4. Render in your blog template: <span>{frontmatter.readingTime} min read</span>.
  5. For one-off corrections, override via frontmatter: readingTime: 12 in the .mdx file.

Substack

  1. Substack does not auto-calculate read time.
  2. Calculate manually in Grigora's tool from the published draft word count.
  3. Paste the label ("8 min read") into the email subject preheader or top of the post.
  4. Apply consistently across all posts to set audience expectations.
  5. Track open-rate and read-completion in Substack's analytics to validate calibration.

Notion (publishing via Super or Potion)

  1. Calculate read time in Grigora's tool from the Notion document word count.
  2. Add a "Read Time" property to the Notion database.
  3. The static publishing tool (Super, Potion, Feather) renders the property automatically in the published page.
  4. Update the property whenever the document changes meaningfully.
  5. Configure the publishing tool to show the property near the title.

Grigora vs. alternatives

Side-by-side.

CapabilityGrigoraTool ATool BFreeManual
Free tier availableYes — unlimitedBundled with MediumBundled with GhostFree CDNFree WordPress plugin
Adjustable WPM (175-300)YesFixed at 265Fixed at 275LimitedYes
Image adjustment (12s default)YesYesNoLimitedNo
Code-block adjustment for technical contentYesNoNoNoNo
Works outside the host platformYesNoNoYesWordPress only
Build-time integration via pluginNo (manual paste)N/AN/ANoYes (WP)
PricingFreeFree with MediumFree with GhostFreeFree
Output ready for any platformYesNoNoYesWordPress only

Common errors and fixes

Eight issues users hit.

Read time labeled but doesn't match actual length

Cause: Imported old read time after editing the article; never recalculated.

Fix: Recalculate read time on every publish/edit; automate via build-time plugin (remark-reading-time for MDX/Hugo).

Using 300+ WPM and overestimating speed

Cause: Picked a WPM number from a "speed reading" article instead of average reading studies.

Fix: Use 200-238 WPM for general content; comprehension drops sharply above 300 WPM and labels become unrealistic.

Read time on listicles or news posts

Cause: Applied read time to all content types.

Fix: Show read time only on long-form articles and tutorials; skip listicles, news, and short reference content.

Round numbers (5, 10, 15)

Cause: Manually estimated and rounded for aesthetics.

Fix: Use specific calculated numbers (3, 7, 12) — round numbers signal manual estimation, specific numbers signal genuine calculation.

No image or code adjustment for technical posts

Cause: Used Medium's 265 WPM formula on a tutorial with 8 code blocks.

Fix: Use 175-200 WPM for technical content and add 30-60 seconds per code block; technical readers slow down to comprehend.

Read time label too prominent

Cause: Designer styled it as a badge with high contrast color.

Fix: Mute the read time label — small text, low contrast, near the byline; it's a contextual cue not a primary element.

Read time without publish date

Cause: Showed only read time, no date.

Fix: Always pair read time with publish date; readers consider both when deciding whether to invest in the content.

Client-side JavaScript recalculation on every load

Cause: Implemented as runtime JS counting words on the rendered DOM.

Fix: Compute at build/publish time and store statically; runtime calculation wastes compute and causes layout shift.

Original data

2026 study.

238 WPM
Median reading speed across published studies (Brysbaert 2019)
18-26%
Bounce-rate reduction for articles labeled with read time
>30%
Comprehension drop above 300 WPM
+23%
Dwell-time uplift for read-time-labeled vs unlabeled (Semrush 2024)

Frequently asked questions

Twelve answers.

Related free tools

Other utilities.

Try Read Time Calculator now

Free, unlimited, no signup.

Try the Tool