Open-source project
ChatGPTBox-dev/chatGPTBox avatar
ChatGPTBox-dev/chatGPTBox

ChatGPTBox: a browser extension that puts a chat box on every page

Integrating ChatGPT into your browser deeply, everything you need is here

10,756 stars877 forksJavaScriptMIT

At a glance

What is it?
ChatGPTBox is an MIT-licensed extension for Chrome, Edge, Firefox, Safari and Android that adds a floating chat window, page summarization and selection tools to any site. It works with Web API, GPT-3.5, GPT-4, Claude, New Bing, Moonshot, Azure and self-hosted endpoints through Custom Model mode.
Who is it for?
Adopt ChatGPTBox if you want one extension that covers chat, summarization and selection actions across Chrome, Edge, Firefox, Safari and Android, and you can point it at an OpenAI-compatible endpoint you control. Do not adopt it if you need a documented rollback path, a stability guarantee across store review cycles, or a mobile build outside Android.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What ChatGPTBox actually solves

Most browser AI extensions pick one job: a sidebar chat, a search-engine answer panel, or a summarizer button. ChatGPTBox bundles them. The README lists a floating dialog on any page (Ctrl+B), right-click page summarization (Alt+B), a standalone conversation page (Ctrl+Shift+H), selection tools for translation, polishing, sentiment analysis, paragraph division and code explanation, and site-specific integrations for Reddit, Quora, YouTube, GitHub, GitLab, StackOverflow, Zhihu and Bilibili. Search engine integration is included, with custom queries for additional sites.

The intended user is someone who already pays for or self-hosts an LLM endpoint and wants it reachable without switching tabs. The extension is explicitly free and MIT licensed, and the README states it does not collect data, pointing readers to a global search for fetch( and XMLHttpRequest( in the source as the verification method. That is a claim you can check yourself rather than take on faith, which is unusual and worth noting.

A second group is served by Custom Model mode. The README names litellm and one-api as ways to convert other LLM APIs into OpenAI format, and mentions Ollama and OpenRouter as compatible backends. If you run a local model, this is the path in.

How the extension decides when to send anything

The architecture is a browser extension with a content script layer and a background layer, which is what the repository layout implies: src/ holds the extension code, build.mjs produces per-browser bundles, and safari/ carries a separate build script. Site adaptations and selection tools are described as independently switchable modules, so the content script surface is composed rather than monolithic.

The data flow matters more than the file layout. According to the README, the extension does not transmit prompts or page content to the configured AI service unless an AI-powered feature is triggered, and by default the extension must be activated manually. That is a deliberate gate: the content script can read the page, but nothing leaves the browser until you invoke a feature. The README ties this to issue #407. If you are evaluating it for a workplace where page content is sensitive, that default is the single most important design decision in the project, and it is documented rather than buried.

The trade-off is latency and friction. Every action starts with a keystroke or a right-click instead of ambient context. Projects that watch the page continuously can offer suggestions you did not ask for; ChatGPTBox cannot, by design.

Installing ChatGPTBox from a store, and a first real use

The README's install section links store listings rather than a package manager. Chrome, Edge, Firefox and Android have direct store links; Safari and Android are covered by wiki pages under the Install heading, with Safari requiring the wiki instructions at Install#install-to-safarimacos. There is no npm install path for end users. The package.json build scripts are for contributors, not for installing the extension.

Start by installing from the store matching your browser, then open any page and press Ctrl+B to raise the floating chat box. That is the first thing to confirm: the dialog appears on a page where no site adaptation exists.

bash
# No install command for end users. Install from the store listing
# for your browser (Chrome, Edge, Firefox, Android), then open any page.
# Safari and Android follow the wiki: Install#install-to-safarimacos

The second thing to confirm is the API mode. The README lists Web API for Free and Plus users, GPT-3.5, GPT-4, Claude, New Bing, Moonshot, Self-Hosted and Azure. For a local or third-party endpoint, switch to Custom Model mode and point it at an OpenAI-compatible base URL. The README gives this pattern:

json
{
  "mode": "Custom Model",
  "note": "Convert other LLM APIs into OpenAI format with litellm or one-api, then use them in Custom Model mode. Ollama and OpenRouter are also documented as compatible."
}

What you should see after configuring it: the floating box answers with your configured backend rather than the default service. If it does not, the failure is almost always the endpoint format, not the extension. The README points at litellm and one-api specifically because they normalize non-OpenAI APIs into the shape ChatGPTBox expects.

For contributors, the build path is documented in package.json. Node 22 or newer is required by the engines field.

bash
npm install
npm run dev
npm run build

npm run dev runs build.mjs in development mode; npm run build runs it with --production. A Safari build uses a separate script, npm run build:safari, which calls bash ./safari/build.sh.

Where ChatGPTBox is the wrong tool

There is no documented rollback. The README covers install and features, and package.json covers release submission and Firefox metadata updates, but nothing describes how to revert to a previous extension version or undo a configuration change. If you deploy this across a team, that gap is real: store-delivered extensions update on the vendor's schedule, and the project's release cadence shows v2.6.1 on 2026-06-29, v2.7.0 on 2026-08-25 and v2.7.1 on 2026-09-06. Three releases in roughly ten weeks is a normal pace for a project this size, and it also means the surface you tested can change under you.

Mobile support is Android only. The README lists an Android store link and a wiki install page; there is no iOS listing. If your team is on iPhones, this extension does not cover them, and the search phrase people use for that case has no answer in the repository.

The manual activation default cuts both ways. It is the privacy property that makes the extension defensible, and it is also the reason it will feel slower than tools that pre-read the page. If your workflow depends on ambient suggestions, this is the wrong design for you.

Finally, the README says the extension does not collect data and tells you to verify by searching for fetch( and XMLHttpRequest( calls. That is a verification instruction, not a guarantee. If your review process requires a formal data-flow document, this repository does not provide one.

How it compares with a plain OpenAI-compatible client

The closest alternative is not another browser extension but a standalone OpenAI-compatible client, or the provider's own web interface. The difference is where the context lives. A standalone client gives you a conversation surface with your own history, but the page you are reading stays in another window and you copy text into it by hand. ChatGPTBox inverts that: the page is the context, and the chat box is an overlay on it.

That inversion is also the limitation. Everything ChatGPTBox does with page content depends on the content script being able to read the DOM, which is why the README can offer site-specific integrations for Reddit, GitHub, YouTube and others. A standalone client has no DOM access and therefore no summarization button that works without you pasting text. Conversely, a standalone client does not need per-site adaptation code, so it does not break when a site changes its markup.

If you already run LiteLLM or one-api as a gateway, the two approaches converge: both talk to the same OpenAI-format endpoint, and the choice is purely whether you want the UI anchored to the page or to a separate window. The README explicitly frames those gateways as companions to Custom Model mode rather than competitors.

Maintenance, build cost and the MIT licence

The last push to the default branch was on 2026-09-14, three days before the most recent release tag v2.7.1 on 2026-09-06. The repository is not archived. That combination is the strongest maintenance signal available here, and it is worth stating plainly: this is a project with recent commits and recent releases, not a dormant fork.

The upgrade cost for users is near zero because distribution is through browser stores. The upgrade cost for anyone building on it is higher. The toolchain assumes Node 22 or newer, uses ESLint and Prettier with pre-commit hooks that run pretty, stage and lint, and separates the Safari build into its own shell script. Release automation lives in scripts/: create-firefox-sources-zip.mjs, submit-stores.mjs, update-firefox-metadata.mjs and check-edge-api-key-expiry.mjs. That last one is a small but telling detail about the operational burden of shipping to multiple stores: API keys for store submission expire, and the project automates the check.

The licence is MIT, which permits commercial use, modification and redistribution provided the copyright notice and permission notice are included. Nothing in the README adds a separate terms-of-service layer for the extension itself. Note that the licence covers this project's code, not the AI services you connect it to; the terms of your OpenAI, Azure, Anthropic or self-hosted endpoint still apply, and the README does not attempt to reconcile them. This is a description of the licence text, not legal advice.

Editorial conclusion

Adopt ChatGPTBox if you want one extension that covers chat, summarization and selection actions across Chrome, Edge, Firefox, Safari and Android, and you can point it at an OpenAI-compatible endpoint you control. Do not adopt it if you need a documented rollback path, a stability guarantee across store review cycles, or a mobile build outside Android. Before installing, verify which API mode your account can use and whether the Custom Model endpoint you plan to configure is reachable from your browser.

Frequently asked questions

What is the difference between ChatGPT and ChatGPT Classic?

The README does not discuss ChatGPT Classic or any product by that name. It documents ChatGPTBox's own API modes: Web API for Free and Plus users, GPT-3.5, GPT-4, Claude, New Bing, Moonshot, Self-Hosted and Azure, plus a Custom Model mode for OpenAI-compatible endpoints.

What information should you not put into ChatGPT?

The README does not give guidance on what not to submit. It does state that the extension will not transmit prompts or page content to the configured AI service unless an AI-powered feature is triggered, and that by default the extension must be activated manually.

How to use ChatGPT Plus?

The README lists Web API for Free and Plus users as one of the supported API modes. It does not describe a separate setup procedure for Plus accounts beyond selecting that mode.

What does GPT chat stand for?

The README does not expand the acronym or explain the name. It uses GPT-3.5 and GPT-4 as the names of supported API modes alongside Claude, New Bing, Moonshot, Self-Hosted and Azure.

Official sources

  1. ChatGPTBox-dev/chatGPTBox on GitHub
  2. Issues
  3. License: MIT
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/chatgptbox-dev-chatgptbox.svg)](https://hysenlabs.com/projects/chatgptbox-dev-chatgptbox)