Chrome extension permissions table

Each permission a Chrome extension can request, the group CRX Starter puts it in, and what it lets the extension do, in plain words.

PermissionGroupWhat it can do
A specific site, e.g. https://support.acme-desk.example/*SitesRead and change pages on that site
content_scripts matchesSitesRun its scripts on the sites listed
<all_urls>, *://*/*, http(s)://*/*Sites (shown as “Every site”)Read and change every site you open
activeTabBrowser featuresRead the current page after you click it
tabsBrowser featuresSee the titles and addresses of your open tabs
scripting, webNavigationBrowser featuresInject scripts into pages it can reach; see where tabs navigate
cookiesBrowser featuresRead and change cookies, including sign-in sessions
downloadsBrowser featuresStart, read and manage your downloads
history, bookmarksBrowser featuresRead your browsing history or bookmarks
webRequest, proxyBrowser featuresWatch or reroute your network traffic
identity, management, privacyBrowser featuresUse your Google identity, manage other extensions, change privacy settings
debugger, nativeMessagingBrowser featuresControl pages like DevTools; talk to programs on your computer
clipboardRead, clipboardWrite, geolocationBrowser featuresRead or write your clipboard; get your location
storage, unlimitedStorageOwn settingsSave its own settings and data
alarms, idleOwn settingsRun on a timer, notice when you’re away
notificationsOwn settingsShow system notifications
contextMenusOwn settingsAdd items to the right-click menu
sidePanel, offscreen, i18nOwn settingsShow its own panel and pages, translate its own text

Without CRX Starter: reading manifest.json yourself

Rename a .crx to .zip (or open the .zip) and open manifest.json in any text editor. Three keys matter: permissions (browser features and its own settings, such as tabs or storage), host_permissions (which sites it can access) and content_scripts → matches (which sites its scripts run on). Also check optional_permissions and optional_host_permissions: the extension can ask for these later. Sort each entry into the groups in the table above. To browse the rest of the files too, open the .crx like a ZIP.

What the check adds. Besides the three groups, the check shows where the package came from, whether it can update itself, and a "May not work" line for permissions CRX Starter can’t pass through yet, such as bookmarks, history and debugger, or file:// pages.

Questions worth asking

  • Does it ask for all sites, when it only works on one?
  • Does it use cookies, history or webRequest, when its job has nothing to do with your browsing?
  • Does it use nativeMessaging or debugger, and do you know who made it?
  • Does a new version ask for more than the last one — and does the changelog say why?
  • Can you name the author, and reach them if something goes wrong?

None of these proves an extension is malicious, and a short permission list doesn’t prove it’s safe. Where the file came from still matters most — more on that in is a .crx file safe?

Check before you install

Drop any .crx or .zip into CRX Starter and read the label first. Cancel costs nothing.

Add to Chrome — It's Free