This page, and the pages it links to, are incomplete.
WebExtensions are a new way to write Firefox extensions.
The technology is designed for cross-browser compatibility: to a large extent the API is compatible with the extension API supported by Google Chrome and Opera. Extensions written for these browsers will in most cases run in Firefox with just a few changes. The API is also fully compatible with multiprocess Firefox.
We intend to deprecate XUL and XPCOM-based add-ons, and encourage add-on developers to use the WebExtensions API for new development.
We're also intending to extend the APIs to support the needs of add-on developers, so if you have ideas, we'd love to hear them.
Getting started
- Prerequisites
- What you need to get started.
- Anatomy of a WebExtension
- An overview of the main pieces of a WebExtension.
- Walkthrough
- An example walkthrough of a simple WebExtension.
- Packaging and installation
- How to prepare a WebExtension for installation, and install it.
Guides
- Content scripts
- Interacting with web content.
- Porting from Google Chrome
- What changes you'll need to make if you're porting an existing Chrome extension.
- Chrome incompatibilities
- A list of the features and APIs in Chrome extensions that are not yet supported by Firefox WebExtensions.
- Internationalization
- How to support different locales.
- UX style guide
- Guidelines and resources for your extension's user interface.
- manifest.json
- Reference for manifest.json.
- Debugging
- Reference for manifest.json.
- Messaging
- How to communicate between the parts of your extension and with the web.
- Match patterns
- Rules for matching URLs.
- Security practices
- How to avoid introducing security vulnerabilities.
API Reference
{{ Page ("/en-US/docs/Mozilla/Add-ons/WebExtensions/API", "api-list") }}