Manifest File Format

Every extension, installable web app, and theme has a JSON-formatted manifest file, named manifest.json, that provides important information.

Field summary

The following code shows the supported manifest fields, with links to the page that discusses each field. The only fields that are always required are name and version.

{
  // Required
  "app": {
    "background": {
      // Optional
      "scripts": ["background.js"]
    },
    // Optional
    "service_worker": ...
  },
  "manifest_version": 2,
  "name": "My App",
  "version": "versionString",

  // Recommended
  "default_locale": "en",
  "description": "A plain text description",
  "icons": {...},

  // Optional
  "author": ...,
  "bluetooth": {
    "uuids": ["1105", "1006"]
  },
  "commands": {
    "global": ...
  },
  "current_locale": ...,
  "externally_connectable": {
    "matches": ["*://*.example.com/*"]
  },
  "file_handlers": {...},
  "import": ...,
  "key": "publicKey",
  "kiosk_enabled": true,
  "kiosk_only": true,
  "media_galleries_handlers": ...,
  "minimum_chrome_version": "versionString",
  "nacl_modules": [...],
  "oauth2": ...,
  "offline_enabled": true,
  "optional_permissions": ...,
  "permissions": [...],
  "platforms": ...,
  "requirements": {...},
  "sandbox": [...],
  "short_name": "Short Name",
  "signature": ...,
  "sockets": {
    "tcp": {
      "connect": "*"
    },
    "udp": {
      "send": "*"
    }
  },
  "storage": {
    "managed_schema": "schema.json"
  },
  "system_indicator": ...,
  "update_url": "http://path/to/updateInfo.xml",
  "url_handlers": {...},
  "webview": ...
}