Proof of concept of a Chrome Extension that summarizes the currently open webpage using an in-browser Large Language Model.
Powered by WebLLM for on-device inference and React for the UI.
This extension uses Qwen2.5-3B-Instruct-q4f16 as model.
- In-Browser Summarization — No API calls, no backend, full privacy.
- Fast & Lightweight — Powered by efficient WebGPU-based LLM inference (via WebLLM).
- Seamless UI — Integrated, minimal UI built with React and Plasmo.
git clone https://github.com/charming-byte/webpage-summarizer.git
cd webpage-summarizernpm installnpm run devThis uses Plasmo's dev server to hot-reload the extension inside Chrome.
- Go to
chrome://extensions - Enable Developer Mode
- Click Load unpacked
- Select the
.plasmo/.outputdirectory
- The content script extracts relevant visible text from the DOM.
- The text is passed to the LLM (via WebLLM).
- The model generates a concise summary on the fly.
- The UI (popup or sidebar) displays the result to the user.
All processing happens entirely in-browser — no external servers, ensuring user privacy.
| Tool | Purpose |
|---|---|
| WebLLM | In-browser LLM inference (WebGPU) |
| React | UI framework |
| Plasmo | Extension framework (bundling + HMR) |
- Model selection in UI
- Page segmentation for long articles
- Custom prompt templates
- Firefox support
Visiting a long blog post or news article?
Click the extension icon → Get a ~5-line summary.
