> [!WARNING]
> **Warning:** You're viewing the deprecated Manifest V2 version of this article. See [Manifest V3 - Declare permissions](https://developer.chrome.com/docs/extensions/develop/concepts/declare-permissions) for the MV3 equivalent. The Chrome Web Store no longer accepts Manifest V2 extensions. Follow the [Manifest V3 Migration guide](https://developer.chrome.com/docs/extensions/develop/migrate) to convert your extension to Manifest V3.

To use most chrome.\* APIs, your extension or app must declare its intent in the "permissions" field
of the [manifest](https://developer.chrome.com/docs/extensions/mv2/manifest). Each permission can be either one of a list of known strings (such as
"geolocation") or a [match pattern](https://developer.chrome.com/docs/extensions/mv2/match_patterns) that gives access to one or more hosts. Permissions help to
limit damage if your extension or app is compromised by malware. Some permissions are also displayed
to users before installation, as detailed in [Permission Warnings](https://developer.chrome.com/docs/extensions/mv2/permission_warnings).

If an API requires you to declare a permission in the manifest, then its documentation tells you how
to do so. For example, the [Storage](https://developer.chrome.com/docs/extensions/reference/storage) page shows you how to declare the "storage" permission.

Here's an example of the permissions part of a manifest file:

    "permissions": [
      "tabs",
      "bookmarks",
      "http://www.blogger.com/",
      "http://*.google.com/",
      "unlimitedStorage"
    ],

The following table lists the currently available permissions:

| Permission | Description |
|---|---|
| `"activeTab"` | Requests that the extension be granted permissions according to the [activeTab](https://developer.chrome.com/docs/extensions/mv2/manifest/activeTab) specification. |
| `"alarms"` | Gives your extension access to the [chrome.alarms](https://developer.chrome.com/docs/extensions/mv2/reference/alarms) API. |
| `"background"` | Makes Chrome start up early and shut down late, so that apps and extensions can have a longer life. When any installed hosted app, packaged app, or extension has "background" permission, Chrome runs (invisibly) as soon as the user logs into their computer---before the user launches Chrome. The "background" permission also makes Chrome continue running (even after its last window is closed) until the user explicitly quits Chrome. **Note:** Disabled apps and extensions are treated as if they aren't installed. You typically use the "background" permission with a [background page](https://developer.chrome.com/docs/extensions/mv2/background-pages), [event page](https://developer.chrome.com/docs/apps/event_pages) or (for hosted apps) a [background window](http://developers.google.com/chrome/apps/docs/background.html). |
| `"bookmarks"` | Gives your extension access to the [chrome.bookmarks](https://developer.chrome.com/docs/extensions/mv2/reference/bookmarks) API. |
| `"browsingData"` | Gives your extension access to the [chrome.browsingData](https://developer.chrome.com/docs/extensions/mv2/reference/browsingData) API. |
| `"certificateProvider"` | Gives your extension access to the [chrome.certificateProvider](https://developer.chrome.com/docs/extensions/mv2/reference/certificateProvider) API. |
| `"clipboardRead"` | Required if the extension or app uses `document.execCommand('paste')`. |
| `"clipboardWrite"` | Indicates the extension or app uses `document.execCommand('copy')` or `document.execCommand('cut')`. This permission is **required for hosted apps**; it's recommended for extensions and packaged apps. |
| `"contentSettings"` | Gives your extension access to the [chrome.contentSettings](https://developer.chrome.com/docs/extensions/mv2/reference/contentSettings) API. |
| `"contextMenus"` | Gives your extension access to the [chrome.contextMenus](https://developer.chrome.com/docs/extensions/mv2/reference/contextMenus) API. |
| `"cookies"` | Gives your extension access to the [chrome.cookies](https://developer.chrome.com/docs/extensions/mv2/reference/cookies) API. |
| `"debugger"` | Gives your extension access to the [chrome.debugger](https://developer.chrome.com/docs/extensions/mv2/reference/debugger) API. |
| `"declarativeContent"` | Gives your extension access to the [chrome.declarativeContent](https://developer.chrome.com/docs/extensions/mv2/reference/declarativeContent) API. |
| `"declarativeNetRequest"` | Gives your extension access to the [chrome.declarativeNetRequest](https://developer.chrome.com/docs/extensions/mv2/reference/declarativeNetRequest) API. |
| `"declarativeNetRequestFeedback"` | Grants the extension access to events and methods within the [chrome.declarativeNetRequest](https://developer.chrome.com/docs/extensions/mv2/reference/declarativeNetRequest) API which return information on declarative rules matched. |
| `"declarativeWebRequest"` | Gives your extension access to the [chrome.declarativeWebRequest](https://developer.chrome.com/docs/extensions/mv2/reference/declarativeWebRequest) API. |
| `"desktopCapture"` | Gives your extension access to the [chrome.desktopCapture](https://developer.chrome.com/docs/extensions/mv2/reference/desktopCapture) API. |
| `"documentScan"` | Gives your extension access to the [chrome.documentScan](https://developer.chrome.com/docs/extensions/mv2/reference/documentScan) API. |
| `"downloads"` | Gives your extension access to the [chrome.downloads](https://developer.chrome.com/docs/extensions/mv2/reference/downloads) API. |
| `"enterprise.deviceAttributes"` | Gives your extension access to the [chrome.enterprise.deviceAttributes](https://developer.chrome.com/docs/extensions/mv2/reference/enterprise/deviceAttributes) API. |
| `"enterprise.hardwarePlatform"` | Gives your extension access to the [chrome.enterprise.hardwarePlatform](https://developer.chrome.com/docs/extensions/mv2/reference/enterprise/hardwarePlatform) API. |
| `"enterprise.networkingAttributes"` | Gives your extension access to the [chrome.enterprise.networkingAttributes](https://developer.chrome.com/docs/extensions/mv2/reference/enterprise/networkingAttributes) API. |
| `"enterprise.platformKeys"` | Gives your extension access to the [chrome.enterprise.platformKeys](https://developer.chrome.com/docs/extensions/mv2/reference/enterprise/platformKeys) API. |
| `"experimental"` | Required if the extension or app uses any [chrome.experimental.\* APIs](https://developer.chrome.com/docs/extensions/mv2/reference#experimental_apis/). |
| `"fileBrowserHandler"` | Gives your extension access to the [chrome.fileBrowserHandler](https://developer.chrome.com/docs/extensions/mv2/reference/fileBrowserHandler) API. |
| `"fileSystemProvider"` | Gives your extension access to the [chrome.fileSystemProvider](https://developer.chrome.com/docs/extensions/mv2/reference/fileSystemProvider) API. |
| `"fontSettings"` | Gives your extension access to the [chrome.fontSettings](https://developer.chrome.com/docs/extensions/mv2/reference/fontSettings) API. |
| `"gcm"` | Gives your extension access to the [chrome.gcm](https://developer.chrome.com/docs/extensions/mv2/reference/gcm) API. |
| `"geolocation"` | Allows the extension or app to use the [geolocation API](https://dev.w3.org/geo/api/spec-source.html) without prompting the user for permission. |
| `"history"` | Gives your extension access to the [chrome.history](https://developer.chrome.com/docs/extensions/mv2/reference/history) API. |
| `"identity"` | Gives your extension access to the [chrome.identity](https://developer.chrome.com/docs/extensions/mv2/reference/identity) API. |
| `"idle"` | Gives your extension access to the [chrome.idle](https://developer.chrome.com/docs/extensions/mv2/reference/idle) API. |
| `"loginState"` | Gives your extension access to the [chrome.loginState](https://developer.chrome.com/docs/extensions/mv2/reference/loginState) API. |
| `"management"` | Gives your extension access to the [chrome.management](https://developer.chrome.com/docs/extensions/mv2/reference/management) API. |
| `"nativeMessaging"` | Gives your extension access to the [native messaging API](https://developer.chrome.com/docs/extensions/develop/concepts/native-messaging). |
| `"notifications"` | Gives your extension access to the [chrome.notifications](https://developer.chrome.com/docs/extensions/mv2/reference/notifications) API. |
| `"pageCapture"` | Gives your extension access to the [chrome.pageCapture](https://developer.chrome.com/docs/extensions/mv2/reference/pageCapture) API. |
| `"platformKeys"` | Gives your extension access to the [chrome.platformKeys](https://developer.chrome.com/docs/extensions/mv2/reference/platformKeys) API. |
| `"power"` | Gives your extension access to the [chrome.power](https://developer.chrome.com/docs/extensions/mv2/reference/power) API. |
| `"printerProvider"` | Gives your extension access to the [chrome.printerProvider](https://developer.chrome.com/docs/extensions/mv2/reference/printerProvider) API. |
| `"printing"` | Gives your extension access to the [chrome.printing](https://developer.chrome.com/docs/extensions/mv2/reference/printing) API. |
| `"printingMetrics"` | Gives your extension access to the [chrome.printingMetrics](https://developer.chrome.com/docs/extensions/mv2/reference/printingMetrics) API. |
| `"privacy"` | Gives your extension access to the [chrome.privacy](https://developer.chrome.com/docs/extensions/mv2/reference/privacy) API. |
| `"processes"` | Gives your extension access to the [chrome.processes](https://developer.chrome.com/docs/extensions/mv2/reference/processes) API. |
| `"proxy"` | Gives your extension access to the [chrome.proxy](https://developer.chrome.com/docs/extensions/mv2/reference/proxy) API. |
| `"scripting"` | Gives your extension access to the [chrome.scripting](https://developer.chrome.com/docs/extensions/mv2/reference/scripting) API. |
| `"search"` | Gives your extension access to the [chrome.search](https://developer.chrome.com/docs/extensions/mv2/reference/search) API. |
| `"sessions"` | Gives your extension access to the [chrome.sessions](https://developer.chrome.com/docs/extensions/mv2/reference/sessions) API. |
| `"signedInDevices"` | Gives your extension access to the [chrome.signedInDevices](https://developer.chrome.com/docs/extensions/reference/signedInDevices) API. |
| `"storage"` | Gives your extension access to the [chrome.storage](https://developer.chrome.com/docs/extensions/mv2/reference/storage) API. |
| `"system.cpu"` | Gives your extension access to the [chrome.system.cpu](https://developer.chrome.com/docs/extensions/mv2/reference/system/cpu) API. |
| `"system.display"` | Gives your extension access to the [chrome.system.display](https://developer.chrome.com/docs/extensions/mv2/reference/system/display) API. |
| `"system.memory"` | Gives your extension access to the [chrome.system.memory](https://developer.chrome.com/docs/extensions/mv2/reference/system/memory) API. |
| `"system.storage"` | Gives your extension access to the [chrome.system.storage](https://developer.chrome.com/docs/extensions/mv2/reference/system/storage) API. |
| `"tabCapture"` | Gives your extension access to the [chrome.tabCapture](https://developer.chrome.com/docs/extensions/mv2/reference/tabCapture) API. |
| `"tabGroups"` | Gives your extension access to the [chrome.tabGroups](https://developer.chrome.com/docs/extensions/mv2/reference/tabGroups) API. |
| `"tabs"` | Gives your extension access to privileged fields of the [`Tab`](https://developer.chrome.com/docs/extensions/mv2/reference/tabs#type-Tab) objects used by several APIs including [chrome.tabs](https://developer.chrome.com/docs/extensions/mv2/reference/tabs) and [chrome.windows](https://developer.chrome.com/docs/extensions/mv2/reference/windows). In many circumstances your extension will not need to declare the `"tabs"` permission to make use of these APIs. |
| `"topSites"` | Gives your extension access to the [chrome.topSites](https://developer.chrome.com/docs/extensions/mv2/reference/topSites) API. |
| `"tts"` | Gives your extension access to the [chrome.tts](https://developer.chrome.com/docs/extensions/mv2/reference/tts) API. |
| `"ttsEngine"` | Gives your extension access to the [chrome.ttsEngine](https://developer.chrome.com/docs/extensions/mv2/reference/ttsEngine) API. |
| `"unlimitedStorage"` | Provides an unlimited quota for storing client-side data, such as databases and local storage files. Without this permission, the extension or app is limited to 5 MB of local storage.**Note:** This permission applies only to Web SQL Database and application cache (see issue [58985](http://crbug.com/58985)). Also, it doesn't currently work with wildcard subdomains such as `http://*.example.com`. |
| `"vpnProvider"` | Gives your extension access to the [chrome.vpnProvider](https://developer.chrome.com/docs/extensions/mv2/reference/vpnProvider) API. |
| `"webNavigation"` | Gives your extension access to the [chrome.webNavigation](https://developer.chrome.com/docs/extensions/mv2/reference/webNavigation) API. |
| `"webRequest"` | Gives your extension access to the [chrome.webRequest](https://developer.chrome.com/docs/extensions/mv2/reference/webRequest) API. |
| `"webRequestBlocking"` | Required if the extension uses the [chrome.webRequest](https://developer.chrome.com/docs/extensions/mv2/reference/webRequest) API in a blocking fashion. |