Article Reading Time Estimator
Free to download on every platform. Comes pre-installed on BotFone, BotPad and BotFlip — with extra free apps included.
About this app
WHAT IT DOES
Article Reading Time Estimator scans any webpage to detect the main article content, counts the words, and calculates how long it will take to read based on your personal reading speed. A floating badge shows the estimated reading time at the top or bottom of the page, giving you an immediate sense of the article's length before you start reading. The panel provides a detailed breakdown including word count, number of paragraphs and headings, average word length, and the exact reading speed used. You can adjust the reading speed from 50 to 800 words per minute, with presets for slow, average, fast, and speed-reading. The estimate automatically adjusts for content complexity—articles with many headings and lists are given slightly more time—and updates in real-time when the page content changes dynamically.
WHERE IT RUNS
The extension works on every website with article-style content, including news sites, blogs, documentation pages, technical articles, and long-form editorial content. It runs locally in your browser, analyzing the page's DOM and calculating reading times without sending any data to external servers. The extension supports all major browsers and adapts to both desktop and mobile viewports seamlessly.
HOW TO USE
After installation, the extension automatically adds a reading time badge to the page. The badge displays the estimated reading time (e.g., "5 min read") and, in detailed mode, the word count and reading speed. To customize settings, open the extension panel. Select a preset reading speed (Slow: 150 wpm, Average: 200 wpm, Default: 238 wpm, Fast: 300 wpm, Speed read: 400 wpm) or enter a custom speed between 50 and 800 wpm. Choose the badge position: Top (centered), Bottom (centered), or Bottom-right (compact). Toggle the detailed badge to show or hide extra information. For per-site customization, set a unique reading speed and position for specific websites. Click "Refresh Estimate" to manually recalculate the reading time.
THE ACTUAL MECHANISM — HEURISTIC CONTENT EXTRACTION WITH COMPLEXITY ADJUSTMENT
The extension uses a multi-stage content detection pipeline. First, it queries common article container selectors (article, .article, .post, .entry, .content, .main-content, [role="article"], [role="main"], main). If no matching container is found, it falls back to scanning all p, div, section, and article elements, excluding navigation, header, footer, and aside tags, then selects the element with the most text content (minimum 100 characters). This approach works across virtually all article layouts. Once the content container is identified, the extension counts words by splitting the text content on whitespace and filtering empty strings. The base reading time is calculated as (word_count / reading_speed) minutes. The extension then applies complexity adjustments: it counts headings (h1-h6) and lists (ul, ol) in the content and multiplies the time by a small factor (1 + (headings * 0.02) + (lists * 0.03)) to account for the cognitive overhead of processing structured content. It also calculates the average word length and applies an additional 10-20% adjustment for articles with unusually long words. The result is displayed in a badge that updates on scroll, resize, and DOM mutations. All calculations are performed client-side and settings are persisted using GM_setValue with domain-specific overrides.
THE PANEL
The settings panel is a lightweight, draggable overlay that appears in the center of your screen. You can reposition it by clicking and dragging the title bar; release it near the screen edge and it will snap into place automatically. To collapse the panel into a compact title bar, click the minimize button, expanding it again with the same control. The panel is fully responsive, adapting to different screen resolutions with a minimum width of 300px and a maximum of 480px. Press the Escape key at any time to dismiss the panel without applying changes. All controls—the enable/disable toggle, refresh button, reading speed selector with custom input, badge position selector, detailed badge toggle, per-site speed and position overrides, and per-site enable/disable controls—are accessible within a clean, high-contrast interface that respects your system's color scheme.
PLEASE NOTE
This extension requires the free BotGentz companion extension to be installed and active, which provides the underlying DOM access and storage engine. The content detection heuristics work on the vast majority of websites but may occasionally miss the main content on heavily customized or non-standard page layouts. In such cases, clicking "Refresh Estimate" or scrolling the page can help the extension re-analyze the content. No personal data, browsing history, or article content is ever collected, stored, or transmitted. All settings are saved using the browser's storage API and remain solely on your device. The extension does not inject ads, trackers, or analytics of any kind.