Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

On WordPress 6.9 and later, add estimated reading time with the built-in Time to Read block—no plugin required. Insert it near the post title or byline, choose a minute estimate or range, and preview the published post. Older WordPress versions, automatic placement, custom reading speeds, or specialized output require a plugin.

Add reading time with WordPress 6.9’s built-in block

  1. Open a post or page in the WordPress editor.
  2. Place the cursor where the label should appear, commonly below the title or beside the byline.
  3. Open the block inserter, search for Time to Read, and select the block.
  4. Leave the default range display enabled, or turn it off for a single-minute estimate.
  5. Use the block’s variation picker if you want to show a word count instead of reading time.
  6. Preview the specific post, then check the front end on desktop and mobile. Typography and color come from your theme; adjust the block’s style controls or the theme’s design tools if the label is hard to read.

If you place the block in a template or reusable pattern, preview an actual post rather than an empty editor view. The estimate needs current post content to look realistic.

What the estimate actually measures

The official block calculates from the current post or page and uses language-aware counting: it counts words or characters according to the site language. The result is displayed in minutes; WordPress 6.9 does not provide a seconds display or a setting for entering your own words-per-minute speed.

WordPress Developer Resources documents the block as core/post-time-to-read, a dynamic server-rendered block. Its block-comment markup is:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
<!-- wp:post-time-to-read /-->

The documented averageReadingSpeed default is 189. That number is an implementation default for the block, not a universal reading-speed fact or a measurement of your audience.

Why the number can be incomplete

Some dynamically loaded material may not be counted fully. Shortcodes and text supplied by external embeds are examples. If a page relies heavily on those elements, treat the displayed figure as an estimate and inspect the result on the front end instead of presenting it as an exact duration.

Built-in block or plugin?

Use the core block when your site runs WordPress 6.9 or later and you only need an editor-inserted label or word-count variation. Choose a plugin when the block is unavailable or when you need automatic insertion, shortcode placement, PHP/template integration, a custom reading speed, or more control over the label format.

Capability Core Time to Read block Plugin approach
Minimum version Documented for WordPress 6.9 or later Depends on the individual plugin and its current compatibility listing
Placement Manual insertion in the editor, including templates or patterns May insert automatically, or allow manual shortcode/template placement
Editor support Gutenberg block Varies: block, shortcode, PHP function, or template tag
Speed controls Uses the documented 189 default; no user-facing custom words-per-minute control in WordPress 6.9 Some plugins document configurable words-per-minute settings
Output Minute estimate or range, plus a word-count variation Output and label options vary by plugin
Dynamic content counting Shortcodes and external embeds may not be fully counted Behavior depends on the plugin’s implementation; verify it on your site
Maintenance and compatibility Maintained as part of WordPress core Check the current directory listing, tested WordPress versions, update history, and theme compatibility

Plugin options when you need more control

Article Read Time

Article Read Time documents three insertion methods: the [article_read_time] shortcode, a theme template tag, and configurable words-per-minute and output options. This is useful when the label must appear in a custom template or when the core block’s format is too limited.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

ReadMetric

ReadMetric documents automatic placement, a Gutenberg block, a shortcode, and PHP functions, together with configurable speed and other optional settings. Its range of interfaces can suit sites that use both block content and custom theme code.

Reading Time WP

Reading Time WP documents automatic insertion at the beginning of post content and a shortcode for manual placement. It is an option when a consistent beginning-of-content label is more important than editor-by-editor placement.

Plugin features and compatibility can change. Before activating one, inspect its current WordPress.org listing, confirm that it supports your post types and theme, and test the front-end label with a staging copy or a representative draft. Do not assume that a documented feature means every shortcode, embed, or custom post type will be counted correctly.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Place the label where readers will see it

  • Below the title: best for an immediate expectation before the first paragraph.
  • Beside the byline: keeps author and content-length information together.
  • At the beginning of content: practical for automatic plugin insertion, but check spacing and duplicate labels.
  • Inside a template: provides consistent placement across posts, but preview a real post so the dynamic estimate has content.

Keep the wording explicit—for example, “Estimated reading time: 6 minutes.” An estimate is a convenience, not a promise of how long every reader will take.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Troubleshoot an unexpected result

The block cannot be found

Confirm that the site is running WordPress 6.9 or later and that you are editing a post or page in the block editor. On an older version, use a compatible plugin or update WordPress after checking your theme and plugin compatibility.

The number looks too low

Review the post for shortcode-generated text, external embeds, or other content loaded dynamically. Those elements may be omitted from the calculation. Check the front-end result and explain the limitation if the page is dominated by embedded material.

The label looks wrong in the theme

Inspect the block’s typography, color, spacing, and alignment controls, then check the theme’s global styles. Preview both narrow and wide layouts so the label does not wrap awkwardly or disappear against the background.

The estimate is duplicated

Look for both a manually inserted block and an automatic plugin placement rule. Remove one source, then clear any page cache and verify the published page.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Recommended choice

For a standard WordPress 6.9-or-later site, use the core Time to Read block near the title or byline. It is the documented, lowest-maintenance route and can show a range, a single-minute estimate, or a word count. Select a plugin only when you need support for an older WordPress release, automatic placement, custom speed assumptions, shortcode/template integration, or output controls that the core block does not expose.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.