Focus Reader is a small Firefox, Chrome, and Chromium extension that turns an HTTPS article into a calm, one-item-at-a-time reader. Article text stays in the extension and is not saved or sent to a server.
- Open the Focus Reader page on Firefox Add-ons.
- Choose Add to Firefox.
- Confirm the install.
The store link will be added here when Mozilla publishes the first listed release.
- Open
about:debuggingin Firefox. - Choose This Firefox.
- Choose Load Temporary Add-on.
- Select
manifest.jsonfrom this folder.
- Open an HTTPS article.
- Click the Focus Reader toolbar button, press
Ctrl+Shift+F, or right-click the page and choose Open in Focus Reader. - Use
J,K, the arrow keys, the mouse wheel, or swipe to move. - Use Full text to see the extracted article on one page.
- Press
Escapeor choose Exit to return to the page.
Focus Reader shows an error for browser pages, PDF files, HTTP pages, feeds without a clear article, and pages where it cannot find enough article text. If Firefox blocks an overlay on a built-in page, the error opens in a small extension tab instead.
Firefox 140 or newer is required on desktop. Firefox 142 or newer is required on Android.
On Firefox for Android, open the browser menu, choose Extensions, then choose Focus Reader.
activeTabgives the extension short-lived access only to the page on which you use the shortcut or menu command.menusadds the Open in Focus Reader page menu item.- Extracted text and reading progress live only in memory for the open reader session.
- The extension does not keep article text, URLs, history, or reading progress.
- Install dependencies with
npm install. - Run extraction tests with
npm test. - The vendored
Readability.jscomes from Mozilla Readability 0.6.0. Seevendor/README.mdandvendor/READABILITY-LICENSE.md.
- Run
./package-chrome.sh. - Open
chrome://extensions. - Enable Developer mode.
- Choose Load unpacked.
- Select the unpacked folder printed by the script in
chrome-artifacts/.
Chrome 102 or newer is required. An unpacked extension is for local use and is not signed.
- Run
./package-chrome.sh. - Upload the versioned
-chrome.zipfile fromchrome-artifacts/to the Chrome Web Store developer dashboard. - Google reviews, signs, and serves the extension. Later releases use a new ZIP uploaded to the same listing.
The package contains only the runtime files, icons, and Readability licence. It does not contain tests, signing keys, or Firefox release files.
- Open the project's Releases page on GitHub.
- Open the latest release.
- Download the attached
.xpifile. - Open
about:addonsin Firefox. - Click the gear icon and choose Install Add-on From File....
- Select the downloaded
.xpi.
Only install an .xpi attached to an official project release. The file is signed by Mozilla, so Firefox permits a permanent install.
- Install Mozilla's extension tool:
npm install --global web-ext. - Create Mozilla Add-ons API credentials at
https://addons.mozilla.org/developers/. - Copy
.env.sign.exampleto.env.signand add your AMO keys. - Run
./sign-unlisted.sh. - Find the signed
.xpiinweb-ext-artifacts/. - Attach that
.xpito the matching GitHub Release.
The signing script submits the extension as an unlisted add-on. Mozilla signs it for direct install, but does not publish it in the add-on store.
- Create Mozilla Add-ons API credentials at
https://addons.mozilla.org/developers/. - Copy
.env.sign.exampleto.env.signand add your AMO keys. - Update the version in
manifest.json,manifest.chrome.json,package.json, andpackage-lock.json. - Update
amo-metadata.jsonwhen the listing or reviewer notes change. - Run
./sign-listed.sh. - Check the submission in the Mozilla Add-ons Developer Hub.
The listed package contains only runtime files and licenses. Mozilla reviews, signs, hosts, and updates the extension.
Focus Reader is available under the MIT License. The vendored Mozilla Readability library remains under the Apache License 2.0; see vendor/READABILITY-LICENSE.md.