Technical overview

How PageNarrator Works

PageNarrator combines local content extraction, browser-side voice generation, synchronized highlighting, and lightweight license verification.

1. It extracts readable text

When you start a smart read, PageNarrator extracts readable text from the active page. It prefers selected text when present, then uses structured page parsing and article extraction to avoid navigation, ads, and unrelated page clutter. PageNarrator highlights and scrolls the active page during playback so the spoken section stays visible.

2. AI voice generation runs locally

AI voice generation runs locally in your browser with the cached Kokoro model. Browser voices remain available for every edition and fallback cases. WebGPU is used automatically when available, with CPU/WASM fallback.

3. PDFs use a dedicated viewer

For Pro browser-open PDFs, PageNarrator uses a PageNarrator PDF viewer with PDF.js rendering and text extraction so highlighting can stay aligned with audio and transcript navigation.

4. License check only

For Pro, the extension performs a license check using your license key and a generated device identifier; the server stores only a SHA-256 hash and the extension skips repeat checks for 24 hours after a successful verification. Reading content does not travel with that request.