The cross-browser extension framework
- Create A New Extension — How to create a new browser extension.
- Get Started Immediately — Fetch from sample and get work done.
- Start From A Template — Start developing with your favorite tool.
- I have An Extension — Use only specific parts of Extension.js.
Extension.js makes it very easy to develop cross-browser extensions.
Developers prefer it for its fast builds, unified interface, and zero configuration setup.
Use the create
command to generate a new extension. Also works with pnpm, yarn, and bun.
/
/bash npx extension@latest create my-extension cd my-extension npm run dev
//
create-a-new-extension.mp4
For a preview of extensions running these technologies, see the templates website.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|---|---|---|---|
JavaScript latest |
TypeScript latest |
WASM latest |
React v18+ |
Vue v3+ |
Svelte v5+ |
Preact v10+ |
Angular 👋 |
Solid 👋 |
👋 = PR Welcome!
Start developing an extension using a sample from Chrome Extension Samples
See the example below where we request the sample page-redder from Google Chrome Extension Samples.
chrome-extension-sample-page-redder-on-edge.mp4
/
/bash npx extension@latest dev https://github.com/GoogleChrome/chrome-extensions-samples/tree/main/functional-samples/sample.page-redder --browser=edge
//
If you have an existing extension which is using a package manager, you can install the Extension.js package and manually create the scripts used to run your extension.
usage-with-an-existing-extension.mp4
Step 1 - Install extension as a devDependency
/
/bash npm install extension@latest --save-dev
//
Step 2 - Link your npm scripts with the executable Extension.js commands
/
/json { "scripts": { "build": "extension build", "dev": "extension dev", "preview": "extension preview" }, "devDependencies": { // ...other dependencies "extension": "latest" } }
//
Done. You are all set!
- To develop the extension, run
npm run dev
. - To build the extension in production mode, run
npm run build
. - To visualize the extension in production mode, run
npm run build
andnpm run preview
.
Chrome ✅ |
Edge ✅ |
Firefox ✅ |
Opera ☑️ |
Safari ⛔️ |
Chromium ☑️ |
The browsers listed above represent those with official extension stores. Note that Chromium-based browsers (like Arc, Brave, Vivaldi, and many others) are theoretically supported through the Chrome/Chromium compatibility layer.
Firefox (Android) ⛔️ |
Safari (iOS) ⛔️ |
MIT (c) Cezar Augusto and the Extension.js Authors.