MinuteRead – Reading Time for Posts
MinuteRead – Reading Time for Posts
Description
MinuteRead adds an estimated reading time label to your WordPress posts – helping readers decide whether to dive in or save it for later.
After activating the plugin, reading time appears automatically on your posts – and on any other post type you enable. Everything is configurable from Settings > MinuteRead.
Features:
- Choose which post types show reading time – posts, pages, or any custom post type
- Choose to show reading time before or after the content
- Configurable words-per-minute reading speed (default: 200, range: 50-1000)
- Custom label text – change “Estimated Reading Time” to anything you like
- Custom time format – use “%d min”, “%d minutes”, or any text with %d as placeholder
- Enable / disable without deactivating the plugin
[minuteread_time]shortcode – place reading time anywhere, or[minuteread_time id="123"]for a specific post- Works with non-Latin scripts (Bengali, Arabic, CJK, etc.)
- Lightweight: no jQuery, no external requests
- Developer-friendly:
minuteread_reading_time_output,minuteread_word_count,minuteread_output_htmlfilters - Translation-ready
Shortcode usage:
Place [minuteread_time] in any post, page, or widget to show the reading time
for the current post. To target a specific post, pass its ID:
[minuteread_time id=”123″].
Why Use This Plugin?
- Improve user engagement
- Reduce bounce rate
- Help readers estimate time commitment
Installation
- Upload the
minutereadfolder to/wp-content/plugins/ - Activate the plugin through the Plugins menu in WordPress
- Visit Settings > MinuteRead to configure the plugin
Screenshots
Faq
Yes. The reading time is injected via the standard the_content filter, which is supported by every properly coded WordPress theme.
Yes. Go to Settings > MinuteRead and update the “Words per minute” field. The default is 200 (average adult reading speed). Accepted range: 50-1000.
Yes. Use the Label field in Settings to replace “Estimated Reading Time” with any text you prefer – including text in your own language.
Yes. Use the Time Format field. The placeholder %d will be replaced with the number of minutes. Examples: %d min, %d minutes, %d dakika.
Yes. The output is wrapped in .minuteread-reading-time – a <p> for the
automatic output, a <span> for the shortcode. Add your own rules under
Appearance > Customize > Additional CSS (classic themes) or Appearance >
Editor > Styles > Additional CSS (block themes). For full control of the
markup, use the minuteread_output_html filter.
Yes. Untick every post type under “Show On” to turn off automatic insertion, then
place the [minuteread_time] shortcode exactly where you want it. Inside the loop
it uses the current post; outside it, pass an ID: [minuteread_time id="123"].
Yes. Words are counted in a Unicode-aware way, so text that mixes scripts – Bengali
with a few English terms, for example – is counted correctly. Chinese and Japanese,
which do not put spaces between words, are counted by character instead.
Yes. Go to Settings > MinuteRead and tick the post types you want under
“Show On” – every public post type registered on your site is listed. Developers
can also override the list with the minuteread_post_types filter.
Yes. WordPress automatically loads translations for plugins hosted on WordPress.org.
Reviews
Cool plugin that does what I need
By tomdkat on August 20, 2026
I was using a post reading time plugin that wasn't compatible with WordPress 7 and it was miscalculating the reading time. MinuteRead solved that problem perfectly! It's apparently a new plugin, but it's one worth giving a try. I look forward to seeing how this plugin evolves over time!
Changelog
1.1.0
- New: choose which post types show reading time (Settings > MinuteRead > Show On)
- New:
minuteread_post_typesfilter for developers - New: the shortcode accepts an ID –
[minuteread_time id="123"] - Fixed: wrong reading time on posts that mix a non-Latin script with a few Latin words, such as Bengali text containing English terms
- Fixed: Chinese and Japanese content is now counted by character instead of reporting one minute
- Fixed: the stylesheet now loads when the shortcode is used outside post content
- Fixed: the post type setting is removed on uninstall
- Changed: the reading time no longer forces its own bottom margin – spacing now follows your theme
- Docs: documented the CSS class and the output filter
- Tested up to WordPress 7.1
- Requires PHP 7.4 or higher (matches WordPress core’s own minimum since 7.0)
1.0.0
- Initial release
- Automatic reading time display on single posts
- Before / after content position option
- Configurable words-per-minute setting (50-1000)
- Custom label and time format
- Enable / disable toggle
- Non-Latin language support (Bengali, Arabic, CJK)
- [minuteread_time] shortcode support
- Developer filters: minuteread_reading_time_output, minuteread_word_count, minuteread_output_html
- Translation-ready

