manifest.json ファイルは、WebExtension API を使う拡張機能に必ず含めなければならない唯一のファイルです。

manifest.json を使うことで、拡張機能の名前やバージョンといった基本的なメタデータを指定したり、拡張機能の機能的な側面として、例えばバックグラウンドスクリプトやコンテンツスクリプト、ブラウザーアクションを指定することもできます。

これは JSON形式のファイルですが、1つ例外があります: "//"-形式のコメントが許可されています。

manifest.json のキー一覧は次の通り:

 

必須のキーは、"manifest_version", "version", "name" だけです。"default_locale" は "_locales" ディレクトリーが存在する場合は必要ですが、そうでない場合は不要です。"applications" は Google Chrome でサポートされていません。Firefox では Firefox 48 以前と Android 版 Firefox では必須です。

拡張機能の manifest には、拡張機能の JavaScript から runtime.getManifest() 関数を使ってアクセスできます:

browser.runtime.getManifest().version;

下記のブロックには一般的な manifest keys の基本文法を示します。これはコピー・ペーストできるような使われ方のつもりではないのに注意してください: どのキーが必要かは開発している拡張機能に依存します。完全な例は Example extensions を見てください。

manifest.json の構文について、簡単な例を以下に示します。

{
  "applications": {
    "gecko": {
      "id": "addon@example.com",
      "strict_min_version": "42.0"
    }
  },

  "background": {
    "scripts": ["jquery.js", "my-background.js"],
    "page": "my-background.html"
  },

  "browser_action": {
    "default_icon": {
      "19": "button/geo-19.png",
      "38": "button/geo-38.png"
    },
    "default_title": "Whereami?",
    "default_popup": "popup/geo.html"
  },

  "commands": {
    "toggle-feature": {
      "suggested_key": {
        "default": "Ctrl+Shift+Y",
        "linux": "Ctrl+Shift+U"
      },
      "description": "Send a 'toggle-feature' event"
    }
  },

  "content_security_policy": "script-src 'self' https://example.com; object-src 'self'",

  "content_scripts": [
    {
      "exclude_matches": ["*://developer.mozilla.org/*"],
      "matches": ["*://*.mozilla.org/*"],
      "js": ["borderify.js"]
    }
  ],

  "default_locale": "en",

  "description": "...",

  "icons": {
    "48": "icon.png",
    "96": "icon@2x.png"
  },

  "manifest_version": 2,

  "name": "...",

  "page_action": {
    "default_icon": {
      "19": "button/geo-19.png",
      "38": "button/geo-38.png"
    },
    "default_title": "Whereami?",
    "default_popup": "popup/geo.html"
  },

  "permissions": ["webNavigation"],

  "version": "0.1",

  "web_accessible_resources": ["images/my-image.png"]
}

ブラウザーの実装状況

マニフェストキーとサブキーのすべてを見るには、完全な manifest.json ブラウザー互換テーブルを見てください。

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxOperaAndroid 版 Firefox
authorChrome 完全対応 ありEdge 完全対応 14
補足
完全対応 14
補足
補足 This key is mandatory in Microsoft Edge.
Firefox 完全対応 52Opera 完全対応 ありFirefox Android 完全対応 52
backgroundChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
browser_actionChrome 完全対応 あり
補足
完全対応 あり
補足
補足 If an extension defines a browser action, it is not allowed to define a page action as well.
Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 あり
補足
完全対応 あり
補足
補足 If an extension defines a browser action, it is not allowed to define a page action as well.
Firefox Android 完全対応 55
browser_specific_settingsChrome 未対応 なしEdge 完全対応 15Firefox 完全対応 48
完全対応 48
完全対応 42
補足 代替名
補足 Mandatory before Firefox 48.
代替名 非標準の名前 applications を使用しています。
Opera 未対応 なしFirefox Android 完全対応 48
完全対応 48
完全対応 42
補足 代替名
補足 Mandatory before Firefox 48.
代替名 非標準の名前 applications を使用しています。
chrome_settings_overridesChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 55Opera 未対応 なしFirefox Android 未対応 なし
chrome_url_overridesChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 54Opera 未対応 なしFirefox Android 未対応 なし
commandsChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 48Opera 完全対応 ありFirefox Android 未対応 なし
content_scriptsChrome 完全対応 あり
補足
完全対応 あり
補足
補足 Content scripts are not applied to tabs already open when the extension is loaded.
Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 あり
補足
完全対応 あり
補足
補足 Content scripts are not applied to tabs already open when the extension is loaded.
Firefox Android 完全対応 48
content_security_policyChrome 完全対応 ありEdge 完全対応 14
補足
完全対応 14
補足
補足 Only the default content security policy is supported: "script-src 'self'; object-src 'self';".
Firefox 完全対応 48
補足
完全対応 48
補足
補足 Firefox does not support 'http://127.0.0.1' or 'http://localhost' as script sources: they must be served over HTTPS.
Opera 完全対応 ありFirefox Android 完全対応 48
補足
完全対応 48
補足
補足 Firefox does not support 'http://127.0.0.1' or 'http://localhost' as script sources: they must be served over HTTPS.
default_localeChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
descriptionChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
developerChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 52Opera 完全対応 ありFirefox Android 完全対応 52
devtools_pageChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 54Opera 完全対応 ありFirefox Android 未対応 なし
externally_connectableChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なし
補足
未対応 なし
補足
補足 See bug 1319168.
Opera 完全対応 ありFirefox Android 未対応 なし
homepage_urlChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
iconsChrome 完全対応 あり
補足
完全対応 あり
補足
補足 Chrome does not support SVG format for icons. It is recommended to use PNG images.
Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
incognitoChrome 完全対応 ありEdge 完全対応 ありFirefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
manifest_versionChrome 完全対応 4Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 15Firefox Android 完全対応 48
nameChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
offline_enabledChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 完全対応 ありFirefox Android 未対応 なし
omniboxChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 52Opera 完全対応 ありFirefox Android 未対応 なし
optional_permissionsChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 55Opera 完全対応 ありFirefox Android 完全対応 55
options_page
非推奨
Chrome 完全対応 ありEdge 完全対応 14Firefox 未対応 なしOpera 完全対応 15Firefox Android 未対応 なし
options_uiChrome 完全対応 40Edge 未対応 なしFirefox 完全対応 48Opera 完全対応 27Firefox Android 完全対応 57
page_actionChrome 完全対応 あり
補足
完全対応 あり
補足
補足 If an extension defines a page action, it is not allowed to define a browser action as well.
完全対応 49
補足
補足 Since Chrome 49, page actions are displayed on the toolbar, rather than in the address bar.
Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 あり
補足
完全対応 あり
補足
補足 If an extension defines a page action, it is not allowed to define a browser action as well.
Firefox Android 完全対応 あり
permissionsChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
protocol_handlersChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 54Opera 未対応 なしFirefox Android 完全対応 54
short_nameChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
sidebar_actionChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 54Opera 完全対応 30Firefox Android 未対応 なし
themeChrome 完全対応 ありEdge 未対応 なしFirefox 完全対応 55Opera 未対応 なしFirefox Android 完全対応 あり
versionChrome 完全対応 あり
補足
完全対応 あり
補足
補足 Valid Chrome versions are a subset of valid Firefox versions.
Edge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48
version_nameChrome 完全対応 ありEdge 未対応 なしFirefox 未対応 なしOpera 完全対応 ありFirefox Android 未対応 なし
web_accessible_resourcesChrome 完全対応 ありEdge 完全対応 14Firefox 完全対応 48Opera 完全対応 ありFirefox Android 完全対応 48

凡例

完全対応  
完全対応
未対応  
未対応
非推奨。新しいウェブサイトでは使用しないでください。
非推奨。新しいウェブサイトでは使用しないでください。
実装ノートを参照してください。
実装ノートを参照してください。
非標準の名前を使用しています。
非標準の名前を使用しています。

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, wbamberg, Uemmra3, Marsf, hashedhyphen, lv7777, kmaglione
最終更新者: mdnwebdocs-bot,