Add-ons

Add-ons allow developers to extend and modify the functionality of Firefox. They are written using standard Web technologies - JavaScript, HTML, and CSS - plus some dedicated JavaScript APIs. Among other things, an add-on could:

  • Change the appearance or content of particular websites
  • Modify the Firefox user interface
  • Add new features to Firefox

Developing add-ons

There are currently several toolsets for developing Firefox add-ons, but WebExtensions will become the standard by the end of 2017. The other toolsets, including overlay add-ons, bootstrapped add-ons, and the Add-on SDK, are expected to be deprecated over the same period of time.

Learn more about WebExtensions

If you are writing a new add-on, we recommend that you write a WebExtension.

WebExtensions are designed to be cross-browser compatible: WebExtensions written for Firefox will in most cases run in Chrome, Edge, and Opera with few if any changes. They are also fully compatible with multiprocess Firefox.

See the APIs currently supported in Firefox and other browsers. We're continuing to design and implement new APIs in response to developer needs.

Most of the WebExtensions APIs are also available on Firefox for Android.

Migrate an Existing Add-on

If you maintain a legacy add-on, such as a XUL overlay, bootstrapped, or Add-on SDK-based add-on, we recommend that you investigate porting it to WebExtensions. There are some porting resources on MDN.

We've collected resources on a wiki page to support developers through the transition. To get started, use the compatibility Lookup Tool to see if your add-on will be affected.

Publishing add-ons

Addons.mozilla.org, commonly known as "AMO," is Mozilla's official site for developers to list add-ons, and for users to discover them. By uploading your add-on to AMO, you can participate in our community of users and creators, and find an audience for your add-on.

You are not required to list your add-on on AMO, but your add-on must be signed by Mozilla or users won't be able to install it.

For an overview of the process of publishing your add-on, see Signing and distributing your add-on.

Other types of add-ons

Generally, when people speak of add-ons they're referring to extensions, but there are a few other add-on types that allow users to customize Firefox. Those add-ons include:

  • Lightweight themes are a simple way to provide limited customization for Firefox.
  • Mobile add-ons are add-ons for Firefox for Android. Note, though, that we intend to deprecate some of the technology underlying these APIs. In the future, WebExtensions will be fully supported on Firefox for Android.
  • Search engine plugins add new search engines to the browser's search bar.
  • User dictionaries are add-ons that let you spell-check in different languages.
  • Language packs are add-ons that let you have more languages available for the user interface of Firefox.

Contact us

You can use the links below to get help, keep up to date with news around add-ons, and give us feedback.

Add-ons forum

Use the Add-ons Discourse forum to discuss all aspects of add-on development and to get help.

Mailing lists

Use the dev-addons list to discuss development of the add-ons ecosystem, including the development of the WebExtensions system and of AMO:

IRC

If you're a fan of IRC, you can get in touch at:

  • #addons (discussion of the add-ons ecosystem)
  • #extdev (general discussion of add-on development)
  • #webextensions (discussion of WebExtensions in particular)