← Back to Awesome

Sections

WebExtensions

GitHub repository ↗ synced 2026/8/9

Awesome WebExtensions Awesome

A curated list of awesome resources for WebExtensions development.

WebExtensions are a cross-browser system for developing browser add-ons. To a large extent the system is compatible with the extension API supported by Google Chrome. Extensions written for this browser will in most cases run in Firefox with just a few changes.

Follow @fregante for more webext-related news.

Getting started

Chrome Extensions documentation

Documentation for the original Chrome extension model.

Mozilla's WebExtensions documentation

MDN wiki for the WebExtensions API.

Browser support for WebExtensions

Compatibility table for Chrome, Edge, Firefox, and Opera.

Safari Extensions documentation

Developer documentation on building Safari extensions. Technically not WebExtensions, the API is completely different.

Opera API support

Detailed WebExtensions support for Opera.

Browser Extension Standard

Standard for the API, supported by Mozilla, Opera and Microsoft.

Community

Google Groups

Discussions.

Mozilla Discourse

Discussions.

`#addons:mozilla.org`

Matrix channel by Mozilla.

`google-chrome-extension` tag on Stack Overflow

Relevant questions.

`firefox-addon-webextensions` tag on Stack Overflow

Relevant questions.

`microsoft-edge-extension` tag on Stack Overflow

Relevant questions.

Libraries and Frameworks

webext-options-sync

Helps you manage and autosave your extension's options.

webext-storage-cache

Map-like promised cache storage with expiration.

webext-dynamic-content-scripts

Automatically inject your `content_scripts` on custom domains.

mozilla/webextension-polyfill

Polyfill to support the standardized promise based API in the `browser` namespace.

@types/firefox-webext-browser

Supplies TypeScript types for the `browser` namespace.

redux-webext

Uses Redux for managing the state of your WebExtension.

ExtPay

Take secure payments in extensions without needing to run a server backend.

inject-react-anywhere

Inject React components into 3rd party sites with convenient API and styles isolation.

More…

Code meant become part of the extension.

Tools

Chrome Webstore Upload

Upload the extension to the Chrome Web Store via cli (or on GitHub Actions, automatically).

mozilla/web-ext

Command line tool to help build, run, and test WebExtensions.

chromepet

Get notified when your new version has been published.

chrome-ext-downloader

Download any extension on Chrome Web Store to see how they do it.

chrome-store-api

Chrome Web Store API wrapper.

Chrome extension source viewer

WebExtension to view source code of extensions directly on the store.

@wext/shipit

Tool to automatically publish to Chrome Web Store, Mozilla Addons and Opera Addons.

wext-manifest-loader

Webpack loader that lets you specify `manifest.json` properties to appear only in specific browsers.

webextension-manifest-loader

Webpack loader that loads browser tailored manifest.json. It also imports all importable properties, allowing you to have 'manifest.json' as your only webpack entry point.

webpack-extension-reloader

A Webpack plugin to automatically reload browser extensions during development.

webpack-target-webextension

Adds code-splitting support to WebExtensions build with Webpack.

Extension.js

Plug-and-play, zero-config, cross-browser extension development tool.

Apps that help you manage your extensions.

Testing

sinon-chrome

Mocks the Chrome Extensions API for testing.

addons-linter

Validate an extension against Mozilla's guidelines.

webextensions-jsdom

Load popup, sidebar and background with JSDOM based on the manifest.json.

webextensions-api-fake

In-memory WebExtensions API Fake Implementation (includes TypeScript types).

webextensions-api-mock

WebExtensions API as sinon stubs (includes TypeScript types).

webextensions-schema

Programmatically consume the WebExtensions Schema JSON files.

Boilerplates

browser-extension-template

Barebones boilerplate with parcel, options handler and auto-publishing.

create-webextension

Yarn WebExtension generator.

generator-web-extension

WebExtension generator that creates everything you need to get started with cross-browser web-extension development.

WXT

Next-gen framework for developing web extensions

Sample Extensions

npmhub
Hide Files on GitHub
mdn/webextension-examples

Various example extensions curated for the MDN documentation.

These are simple and modern WebExtensions repositories that could help you figure out where pieces go, including automatic deployment via GitHub Actions.