Missing manifest.json when uploading Firefox Add-on to AMO

I'm unable to upload my firefox extension using the form provided by mozilla. I'm constantly getting the error Your add-on failed validation with 2 errors. No install.rdf or manifest.json foundAdd-on missing manifest, which is very misleading because my application has a manifest.json.

The manifest.json looks like this:

"manifest_version": 2,
"version": 1.0,
"name": "my-extension-name",
"description": "Lorem ipsum dolor sit amet",
"background": {
   "scripts": ["js/background.js"]
"main": "popup.js",
"browser_action": {
  "default_icon": "img/icon_grey.png",
  "default_popup": "popup.html",
  "default_title": "loremipsum"
"engines": {
  "firefox": ">=38.0a1"
"permissions": [

What is missing for this to work?

I was running into the same problem but all of these instructions didn't solve it. What i always did was to pack the whole folder, hence the manifest.json was not on the first level, when unpacked.


Select all files, instead of the folder, and then pack them as one .zip file and it should work. At least it did for me.

Here is a link to the MDN Documentation.

Unable to submit new Add-on - Development, No install.rdf or manifest.json foundAdd-on missing manifest. But my this also occurs if I download the example projects from github and upload them to AMO. We plan on switching completely to JSON update manifests on Firefox and AMO. If you self-distribute your add-on please read ahead for details. AMO handles automatic updates for all add-ons listed on the site. For self-hosted add-ons, developers need to set an update URL and manage the update manifest file it returns.

The very simple answer to this is that its unable to find the manifest in your zip file. This is caused because when you take a file and zip it using the default compressor in windows it takes the file and throws it into a sub folder of the zip file you created...

before compressing

folderYouWantCompressed -FileInFolder.html -Manifest.json

after compressing it will look like this

nameOfZip.zip -folderYouWantCompressed -FileInFolder.html -Manifest.json

but what you want is

nameOfZip.zip -FileInFolder.html -Manifest.json

the reason Oliver Sauter answer works is because when you select all the files within the "folderYouWantCompressed" it compresses without the sub folder meaning you dont run into this problem and it has no problem finding the manifest file.

for what I can tell the "correct answer" seems to be signing the add-on itself and is able to get the manifest file properly, so it does work but just seems like a 3rd party way of doing it (I did not look into it too deeply)

Note: that I originally had my issue solved by looking at Oliver Sauter post I just wanted to make it clear for future people looking at this post.

WebExtensions support on AMO, This parsing occurs each time you upload a new add-on or a new version of an add-on. in the manifest.json, then AMO will generate an id for your add-on and add it to the add-on signing We lost users tracking even when  Firefox addons/extensions built with WebExtensions API have a manifest.json instead of install.rdf. When Selenium extract the addon/extenion id, it only looks for install.rdf. This fix adds extracting the addon/extension id from the manifest.json in addition to install.rdf.

When you open your addon package zip file, the manifest.json file should be visible to you in order to upload it on AMO.

In your case, it looks like when you open your package zip, there is a folder and inside that folder manifest.json is located.

WebExtension manifest Error ,No install.rdf or manifest.json found , But every time I upload the zip file, it gived me 2 errors. No install.rdf or manifest.​json found , Add-on missing manifest. What am I doing wrong? 1 Missing manifest.json when uploading Firefox Add-on to AMO Dec 7 '16. 1 which one is best for chat applicaiton? socket programming vs rmi? [closed] May 7 '12.

As I have found a solution to my problem and would like to share it for future reference I answer my own question:

The issue at hand was that I did not use the web-ext command line tool to create the .zip / .xpi package. I was able to solve the problem by installing web-ext and using web-ext build to build the extension. The result of this operation is a .xpi file that contains the project which I was then able to upload to the AMO service. Note that the manifest.json in the newly created package is identical to the manifest.json I originally provided. However, in addition to the manifest.json a directory META-INF was created which contains a mozilla.mf, mozilla.rsa and mozilla.sf file.

This however, did not entirely solve my problem. After uploading the extension to AMO, it could not be installed and was said to be damaged. Apparently, which is what I read somewhere in the interwebz (and forgot the source), Mozilla opens the .zip / .xpi package that is uploaded to test it and since my package was not signed, Mozilla could not ensure its integrity and marked it as insecure (i.e. damaged).

In order to solve the second problem I had to sign the extension. This can be done using the following command:

web-ext sign --api-secret YOUR_API_SECTER --api-key YOUR_API_KEY

After this, I was able to upload and install the extension.

Cannot update UnListed WebExtension - Development, I have coded an unlisted WebExtension but I cannot make it update! installed extension version manifest.json contains: "applications": Both xpi signed on AMO. upload the two new extension versions BookMacsterButton.​xpi, Whoops, my Updates.json was missing a comma between the two addon objects. Firefox (Gecko) properties. Currently this contains just one key, gecko, which may contain four string attributes: id is the extension ID. Optional from Firefox 48, mandatory before Firefox 48. See Extensions and the Add-on ID to see when you need to specify an add-on ID. strict_min_version: minimum version of Gecko to support. Versions

Got the same problem, the problem was thats the file name is case sensitive:

Manifest.jason -> error, no manifest found manifest.json -> susscessful

Manifest.json (not) missing - addons.mozilla.org, Hi, I'm trying to submit my very first Firefox Web Extension, but I get the error “No install.rdf or manifest.json found / Add-on missing manifest. The manifest.json file is the only file that every extension using WebExtension APIs must contain.. Using manifest.json, you specify basic metadata about your extension such as the name and version, and can also specify aspects of your extension's functionality (such as background scripts, content scripts, and browser actions).

Package your extension, During development, your extension will consist of a directory containing a manifest.json file You need to zip these into a single file for uploading to AMO. You don't have to use the XPI extension when uploading to AMO. The manifest.json file is a JSON-formatted file, and is the only file that every extension using WebExtension APIs must contain.. Using manifest.json, you specify basic metadata about your extension such as the name and version, and can also specify aspects of your extension's functionality, such as background scripts, content scripts, and browser actions.

Extensions and the Add-on ID, Starting in Firefox 48, if your manifest.json does not contain an ID then the Because you are uploading the add-on through that page, AMO  Extensions and the add-on ID. Firefox add-ons contain a unique ID which is used to distinguish this add-on from any other Firefox add-on. This article describes how add-on IDs are handled for extensions that are built with WebExtensions APIs.

mozilla/addons, New to firefox, I tried to install some cool add-ons but failed to install any of the versions – the 'uppermost' (remarkably, 1.2 is above 2.0) – AMO consistently, seems that Mozilla's server-side have issues processing the manifest-JSON when if you haven't developed (and packed and uploaded it to Mozilla yourself​), the  I am using the very same zip file I submitted to Chrome Developers and the extension is working like a charm on Chrome, so I do not understand the error: manifest.json is present and valid (the extensions works fine as a temporary add on on FireFox).