Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at

We are planning to deprecate the use by Firefox add-ons of the techniques described in this document.

Don't use these techniques to develop new add-ons. Use WebExtensions or the Add-on SDK instead.

If you maintain an add-on which uses the techniques described here, consider migrating it to use WebExtensions or the SDK instead.

Add-ons developed using these techniques might not work with multiprocess Firefox (e10s), which is already the default in Firefox Nightly and Firefox Developer Edition, and will soon be the default in Beta and Release versions of Firefox. We have documentation on making your add-ons multiprocess-compatible, but it will be more future-proof for you to migrate to WebExtensions or the Add-on SDK.

A wiki page containing resources, migration paths, office hours, and more, is available to help developers transition to the new technologies.

The Firefox add-ons developer guide was contributed by the Mozilla Japan community; it covers how to go about building Firefox extensions using XPCOM and XUL. These days, we recommend using the Add-on SDK instead, but there are times when you need the additional control offered by a more direct approach.

  1. Introduction to extensions
  2. Technologies used in developing extensions
  3. Introduction to XUL—How to build a more intuitive UI
  4. Using XPCOM—Implementing advanced processes
  5. Let's build a Firefox extension
  6. Firefox extensions and XUL applications

Document Tags and Contributors

 Last updated by: wbamberg,