Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. WebExtensions
  3. web-ext

web-ext

MPL-2.0JavaScript10.8.0

A command line tool to build, run, test, and sign WebExtensions for Firefox and other browsers.

GitHubGitHub
3.1k stars391 forks0 contributors

What is web-ext?

Web-ext is a command line tool that helps developers build, run, test, and sign WebExtensions for browsers like Firefox. It automates common development tasks such as live reloading, linting, packaging, and submission to extension stores. The tool simplifies the extension development workflow by providing a unified interface for managing the entire lifecycle of a browser extension.

Target Audience

Extension developers working on Firefox or cross-browser WebExtensions who want to streamline their development, testing, and deployment processes. It's particularly useful for teams needing consistent build automation and integration with Mozilla's extension ecosystem.

Value Proposition

Developers choose web-ext because it's the official Mozilla tool for WebExtension development, offering reliable integration with Firefox's extension APIs and signing services. Its cross-platform design and Node.js API allow for flexible integration into existing development workflows, reducing manual steps and potential errors.

Overview

A command line tool to help build, run, and test web extensions

Use Cases

Best For

  • Automating the build and packaging process for Firefox extensions
  • Testing extensions with live reload during development
  • Validating extension code against WebExtension standards
  • Submitting extensions to Mozilla's add-on store for signing
  • Developing and testing extensions for Firefox on Android
  • Integrating extension development into CI/CD pipelines

Not Ideal For

  • Projects exclusively targeting Chrome or other non-Firefox browsers, as web-ext's tooling is optimized for Mozilla's ecosystem and may lack features for other platforms.
  • Teams that rely on graphical development environments and avoid command-line interfaces, since web-ext is CLI-only with no built-in GUI.
  • Extensions requiring highly customized build processes beyond standard packaging, as web-ext focuses on streamlined workflows rather than advanced build configuration.
  • Developers needing stable, long-term API support for programmatic integration, due to warnings about backward incompatible changes in minor updates.

Pros & Cons

Pros

Official Mozilla Integration

Directly supports Firefox's signing service and add-ons store, simplifying distribution and ensuring compliance with Mozilla's standards, as highlighted in the signing and linting features.

Automated Development Workflow

Includes live reloading, linting, and build automation, reducing manual steps and speeding up iteration during extension development, as evidenced by the run and lint commands.

Cross-Platform Support

Works across Windows, macOS, and Linux, and extends to Firefox for Android via ADB, enabling testing on mobile devices as described in the Android support section.

Programmable Node.js API

Provides an API for integrating web-ext into custom scripts and CI/CD pipelines, allowing for flexible automation beyond the CLI, as shown in the NodeJS code examples.

Cons

Firefox-Centric Focus

Primarily designed for Firefox extensions, with limited optimization for other browsers like Chrome, which may hinder cross-browser development workflows.

Unstable Internal API

The README warns that backward incompatible changes can be introduced in minor versions, making direct Node.js API usage risky for production environments.

CLI-Only Interface

Lacks a graphical user interface, which can be a barrier for developers preferring visual tools or those less comfortable with command-line operations.

Complex Android Setup

Testing on Firefox for Android requires ADB configuration and specific parameters, adding setup complexity that may deter some users, as noted in the Node.js API examples.

Frequently Asked Questions

Quick Stats

Stars3,147
Forks391
Contributors0
Open Issues191
Last commit2 days ago
CreatedSince 2016

Tags

#developer-tools#browser-extensions#browser-extension#build-automation#cli-tool#firefox#extension-development#javascript#testing-tools#webextensions#add-ons#webextension

Built With

N
Node.js
n
npm

Included in

WebExtensions1.5k
Auto-fetched 1 day ago

Related Projects

Extension.jsExtension.js

The cross-browser extension framework.

Stars5,198
Forks142
Last commit1 day ago
Chrome extension source viewerChrome extension source viewer

Add-on / web app to view the source code of Chrome / Firefox / Opera 15 extensions and zip files.

Stars1,723
Forks271
Last commit1 month ago
Chrome Webstore UploadChrome Webstore Upload

CLI tool to upload Chrome Extensions to the Chrome Web Store

Stars507
Forks37
Last commit18 days ago
webpack-extension-reloaderwebpack-extension-reloader

A upgrade from 🔥webpack-chrome-extension-reloader🔥, now on all browsers

Stars496
Forks76
Last commit3 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub