Porting a legacy Firefox add-on

If you have a Firefox add-on developed using a legacy technology, such as XUL/XPCOM or the Add-on SDK, here's a very quick guide to updating.

  1. Get an idea of the main things you'll have to change in your add-on:
  2. Rewrite your add-on's code. You can get find more resources and support in the Mozilla wiki. From Firefox 51 onwards, you can embed a WebExtension in a bootstrapped extension or an SDK add-on, and can thus port a legacy add-on a piece at a time, and have a working add-on at each step. See Embedded WebExtensions.
  3. When you're ready to update your old add-on, submit the new add-on to AMO as an update to the old one. That is, you can switch a legacy add-on to use WebExtensions, and keep the same add-on ID.

Note that this is a one-way conversion: you cannot update a WebExtension to use a legacy technology. This means that you must be sure that you are ready to commit to WebExtensions before you submit the updated add-on to AMO.

Document Tags and Contributors

 Contributors to this page: wbamberg
 Last updated by: wbamberg,