Welcome to the Add-on SDK!

Using the Add-on SDK you can create Firefox add-ons using standard Web technologies: JavaScript, HTML, and CSS. The SDK includes JavaScript APIs which you can use to create add-ons, and tools for creating, running, testing, and packaging add-ons.


Getting started

How to install the SDK and use the cfx tool to develop, test, and package add-ons.

Create user interface components

Create user interface components such as toolbar buttons, menu items, and dialogs

Interact with the browser

Open web pages, listen for pages loading, and list open pages.

Modify web pages

Modify pages matching a URL pattern or dynamically modify a particular tab.

Development techniques

Learn about common development techniques, such as unit testing, logging, creating reusable modules, localization, and mobile development.

Putting it together

Walkthrough of the Annotator example add-on.


SDK infrastructure

Aspects of the SDK's underlying technology: Modules, the Program ID, and the rules defining Firefox compatibility.

SDK idioms

The SDK's event framework and the distinction between add-on scripts and content scripts.

Content scripts

A detailed guide to working with content scripts, including: how to load content scripts, which objects content scripts can access, and how to communicate between content scripts and the rest of your add-on.

XUL migration

A guide to porting XUL add-ons to the SDK. This guide includes a comparison of the two toolsets and a worked example of porting a XUL add-on.


High-Level APIs

Reference documentation for the high-level SDK APIs.

Low-Level APIs

Reference documentation for the low-level SDK APIs.

Tools reference

Reference documentation for the cfx tool used to develop, test, and package add-ons, the console global used for logging, and the package.json file.