Odd Corruption with a Firefox Extension

I’ll make it simple. I developed an extension for Chrome, that as far as I’m aware does not use any Chrome specific APIs, that runs perfectly fine in both edge & Chrome. When I zip the files and try and upload them to Firefox, it claims that my manifest.json file is not valid. This does not make sense, as I coded that file using another extension’s manifest file. Why won’t Firefox accept my extension? I have no idea.

I did research it, but got nowhere, so that’s why I came here. Thanks in advance for any help.

Here is my manifest code:
“manifest_version”: 2,
“name”: “New Tab by Search Crew”,
“version”: “2.0”,
“description”: “Easily access Search Crew from your new tab page.”,
“icons”: {
“48”: “icon48.png”,
“96”: “icon96.png”,
“16”: “icon16.png”,
“128”: “icon128.png”

  "homepage_url": "https://searchcrew.github.io",

  "developer": {
    "name": "Slender Studios",
    "url": "https://www.slenderstudios.github.io"

  "chrome_url_overrides" : {
    "newtab": "index.html"

  "browser_action": {
    "browser_style": false,
    "default_area": "navbar",
    "default_icon": "icon16.png",
    "default_title": "New Tab by Search Crew"
  "omnibox": {
    "keyword" : "search crew newtab"
  "options_ui": {
    "page": "pref.html",
    "open_in_tab": true
  "permissions": [
  "optional_permissions": [

Try to load the addon in the “about:debugging” page, it will probably print some error there saying what’s wrong.
In any case, I think you are missing the " browser_specific_settings" key:

Also, when pasting code here, place triple backticks (```) on the line above and below the code to activate formatting.

thanks for the posting tip! I’ll try adding the new key. Also, I did run it on the about:debugging page, but it said the manifest was not valid.

When I tried uploading the extension to the Firefox Addons site, it actually showed me the problem. I had an invalid omnibox keyword. I did not actually need that key, so I resulted to getting rid of it all together. The extension now works, but there is one thing I do not understand. If I were to insert the browser_specific_settings key and use the gecko and id, where would I find or acquire an extension id? I can’t find the answer to this anywhere.

The extension id is any string that will identify your extension, so something unique, it’s all in the docs: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/browser_specific_settings#extension_id_format

Once you submit it in the store, you won’t be able to change it.