Mozilla wants to hear from developers like you. http://www.surveygizmo.com/s3/2737536/440b74c45e94?a=mdn

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 rest are expected to be deprecated over the same period of time.

Here you will find information about available options for developing add-ons, so you can make a decision on what’s best for you right now and in the future.

Create a New Add-on

If you are writing a new add-on, we recommend you choose one of the following two methods. Until the transition to WebExtensions is complete, there will be pros and cons to each method. Please read through the options to decide which works best for you.

  • WebExtensions

    WebExtensions are the future of Firefox add-ons. If you can use the WebExtensions API, it's the best choice. You can develop and publish WebExtensions right now, but they're still in an early state.

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

    We're preparing a first full release for  Firefox 48.

    Learn more
  • Add-on SDK

    The Add-on SDK provides APIs for developing Firefox add-ons, and a tool for developing, testing, and packaging them.

    You can run Add-on SDK extensions on Firefox for Android, too.

    We encourage you to use only high-level APIs because this will make it easier to migrate to WebExtensions down the road.

    Learn more

Migrate an Existing Add-on

There are changes coming to Firefox in the next year that will make browsing more reliable for users, and creating add-ons easier for developers. Your add-on may require updating to maintain its compatibility, but once this is done and the transition is complete, your add-on will be more interoperable, secure, and future-proof than ever.

We've created resources, migration paths, office hours, and more, to ensure you have the support you need to get through the transition.

To get started, use the add-on compatibility checker 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 starting with Firefox 40, your code 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)