Once you have created an extension, you will probably want to make it easily available to the public.

For my tntfixer extension that I explained in some previous posts I had a folder structure similar to this one:

|    |----/content
|    |    |----tntfixer.js
|    |    |----tntfixer.xul
|    |
|    |----/skin
|    |    |----overlay.css
|    |    |----/images
|    |    |    |----status-bar-icon-active.png
|    |    |    |----status-bar-icon-inactive.png

All the extension files are contained in a folder named tntfixer. Making this folder structure installable to Firefox is very easy. We just need to add all the folders and files inside /tntfixer to a zip file. It is important to add only the content of the folder and not the complete folder, this means that inside our tntfixer.zip file we would have chrome.manifest, install.rdf, README and /chrome with all its content.

To make this file installable to Firefox we just need to change the .zip extension to .xpi (pronounced zippy). Now you can drag the file to your browser and you will be prompt to install the extension. Now you can distribute this file from your site, or whatever method you decide.

An excellent way to distribute your extension is using Mozilla Add-ons directory. This will not only make your extension available for download to thousands of people, but will automatically notify the users of your extension when you upload a new version, and will allow them to easily update it.

You need to have an account to be able to upload your extension. To create your account visit Firefox developers page:


You should see a “Register” or “Log-in” link. Follow the instructions to create your account and return to Firefox developers page. You should see a link saying something like “Submit an Add-on”.

The first step is accepting the terms and conditions. They basically say that your extension is free software and that uploading it in the directory doesn’t give ownership to Mozilla. You also say that your extension doesn’t contain malware and other stuff that is not that bad :P. You can go ahead and read it, is not that long.

In the next step you will be asked to select your .xpi file and also which platforms does your extension work in. I left mine with the default selection, but go ahead and select what you think is correct.

The next step will ask you to fill some information about your extension: name, description and category.

Next you will be given the option to upload an icon and a screen-shot. The screen-shot is necessary to complete the process.

Then you will have to select a license, I chose GPL, but there are some important difference between licenses that you may want to investigate.

Finally you have to choose a review option. All Mozilla extensions are reviewed so they don’t contain malware or any obvious bug that would hang the browser. The two options are Full Review, and Preliminary review. You should choose Full Review if you want your extension to be available to anyone that browses Firefox directory.

After that you will receive your extension direct link that you can start using right away to give to your friends or people you know.

That’s it, you only need to wait and hope your extension passes the review.

This is the link to my extension.

[ firefox_extension  javascript  projects  tntfixer  xul  ]
Creating a chrome extension
Writing JavaScript unit tests with venus.js
Why and how is dust.js asynchronous
Changing the color of a tab on a firefox extension
Attaching event listeners to the current document on Firefox