Appearance
Reading Time
Displays an estimated reading time — "5 min read" — calculated from the post's word count.
Enable it under Voxel Toolkit → Widgets, then place it on a single-post template, usually near the title or byline.
Content
| Control | Purpose | Typical value |
|---|---|---|
| Prefix Text | Text before the number | (empty) |
| Postfix Text | Text after the number | min read |
| Words Per Minute | Reading speed used for the estimate | 200 |
| Alignment | Left, centre, or right |
Words Per Minute
The estimate is word count ÷ words per minute. 200 is the usual default for general adult reading and is a reasonable starting point.
Adjust it for your audience and content:
- Technical or reference content — lower it, 130–170. Readers stop and re-read.
- Light editorial or news — 220–250 is defensible.
Lowering the number raises the displayed time, so it's a way to set expectations honestly rather than flatter them.
Styling
Separate style controls for Prefix, Time, and Postfix — each with its own colour and spacing — so you can emphasise the number and mute the surrounding words.
Related dynamic tags
The function also provides two properties usable anywhere, without the widget:
| Tag | Returns |
|---|---|
@post(reading_time) | The estimated reading time |
@post(word_count) | The post's word count |
Use these in card templates where you want the value inline rather than as a separate widget. See Dynamic Tags.
Troubleshooting
The widget shows nothing
- Confirm you're on a single-post template — it needs post context
- A post with almost no text may round to nothing; check the content actually has words
The estimate looks wrong
Check Words Per Minute. The default 200 suits general prose; dense content reads slower and the figure will feel optimistic.
Note the count is based on the post's text content. Long code blocks and embeds inflate the word count without taking proportionally longer to read.
The tags output nothing
@post(reading_time) and @post(word_count) need this widget enabled — the widget registers the properties. Enabling the widget is enough; you don't have to place it.

