This app runs inside the BotSurf browser. Don't have it yet? Get the app or extension now!

Google Docs Reading Time Estimator

Productivity · All
0 installs · Verified BotGentz app
Launch App
Opens in BotSurf — try it free, no account needed.
CategoryProductivity
PlatformAll
Pricing Free
Installs0
Download BotSurf to use — free
No account needed for free apps. Once BotSurf is open, find this app in Apps from the + menu.

About this app

WHAT IT DOES

This script adds a persistent, draggable floating badge to your Google Docs editor that displays the estimated reading time of your document. As you type, the badge updates automatically in real-time, showing how long it would take someone to read your document based on the word count and your chosen reading speed. The badge shows the reading time in minutes (e.g., "5 mins," "1 hr 15 mins") and also displays the word count. If you enable the detailed view, it shows a full breakdown including hours, minutes, seconds, the exact words-per-minute setting, and character count. A "Copy to clipboard" button lets you quickly copy the reading time and stats for sharing with editors, publishers, or colleagues. The badge is fully draggable—you can position it anywhere on the screen—and its position is saved automatically for future sessions.

WHERE IT RUNS

The script runs on Google Docs editor pages (*.docs.google.com/document/*). It works on the main document editor view and supports both desktop and mobile views.

HOW TO USE

After installation, the settings panel appears on the left side of the screen with the gear emoji (⚙️). Open the panel to configure the script:

- The "Show reading time badge" toggle enables or disables the badge.

- Adjust the "Words per minute" setting to match your target reading speed (default is 225, the average adult reading speed). The reading time updates based on this value.

- Toggle "Show detailed breakdown" to show additional stats including hours, minutes, seconds, WPM, and character count.

- Click "Refresh badge" to force a refresh of the display.

- Click "Reset position" to return the badge to its default corner position.

The badge appears automatically when you open a Google Docs document. Drag it to reposition. Click the "✕" button to hide it temporarily.

TECHNICAL SECTION — REAL MECHANISM

The script detects Google Docs editor pages by checking the URL for /document/. It extracts the document text by searching for the editor element using selectors like .docs-editor, .kix-appview-editor, .docos-content, and [role="textbox"]. If the editor element is not found, it falls back to the document body text and filters out UI elements like .docs-chrome, .docs-title, .docs-header, and .docs-footer. The word count is calculated by splitting the cleaned text on whitespace and counting the resulting array. The character count is simply the length of the text. Reading time is calculated as wordCount / wordsPerMinute, with results formatted in minutes, hours, and seconds. The badge is created as a fixed-position div with a dark glassmorphism style (backdrop-filter blur, semi-transparent background) and inserted into the DOM using style properties and textContent (never innerHTML). The badge updates every 2 seconds via setInterval and also debounces updates triggered by DOM mutations. The badge is draggable using mousedown/mousemove/mouseup events, with position stored via GM_setValue. The copy function uses GM_setClipboard to copy the stats.

THE PANEL

The settings panel is built with BotGentz's BGPanel component. It is draggable via its header, allowing you to reposition it anywhere on the screen. The panel snaps to the left edge by default but can be moved freely. Click the gear emoji to collapse the panel into a small bubble, and click the bubble to expand it again. The panel remembers its position per page session. Press the Escape key to quickly close or minimize the panel. The panel includes a status flash bar that provides visual feedback when settings are changed or actions are performed. All settings and badge position are saved automatically via GM_setValue.

PLEASE NOTE

This script requires the free BotGentz browser extension to run. It does not function as a standalone Chrome extension and does not use chrome.* APIs. Google Docs frequently updates its interface, which may break the selectors used to extract document text. If the badge stops updating, please check for script updates. The reading time is an estimate based on word count and the configured words-per-minute setting—actual reading time varies by individual reading speed and content complexity. The script stores only your preferences and badge position via GM_setValue. No data is sent externally—all data is stored locally in your browser. The script never reads or writes password fields, hidden inputs, or file inputs. All DOM operations use safe methods (style properties, textContent, appendChild) and never use innerHTML.

Similar Apps

Log in to BotGentz

Suggest an App

Tell us what you'd find useful — if we build it, we'll email you the moment it's ready.