The manifest is the extension's public contract
manifest.json declares the extension's name, version, entry points and capabilities. Browsers read it before any extension code runs. If a permission is not declared, the extension generally cannot use the matching API without asking the user later.
Reading the manifest is usually faster and more reliable than guessing from the store description. The viewer highlights broad host access and powerful APIs such as debugger, nativeMessaging, proxy and cookies.
Related pages:Manifest V3 permissions list explainedextension CSP in Manifest V3
Fields the viewer explains
The viewer separates fields by purpose: identity, permissions, page access, background execution and communication. Nested fields are summarized instead of dumping raw JSON in your face.
Externally_connectable and web_accessible_resources are often overlooked. They describe which websites can message the extension or load its files. The viewer marks broad values so you can review them.
- Manifest version and browser compatibility
- Required and optional API permissions
- Host permissions and content-script matches
- Background service worker, scripts or page
- Content Security Policy and update URL
- Externally connectable origins and web-accessible resources
Related pages:externally_connectable explainedweb-accessible resources security
Manifest V2 and Manifest V3 side by side
Manifest V3 replaces persistent background pages with service workers, moves host permissions into a separate field and restricts remote code. Manifest V2 extensions still exist, especially outside the Chrome Web Store, but Chromium browsers have been phasing them out.
The viewer reports the manifest version and adds contextual notes instead of assuming that one version is automatically safer. Migration quality depends on how the publisher implements the new model.
| Area | Manifest V2 | Manifest V3 |
|---|---|---|
| Background | Page or scripts | Service worker or scripts |
| Host access | Often inside permissions | Separate host_permissions field |
| Remote code | Historically more permissive | Executable code must be bundled |
| Network rules | webRequestBlocking | declarativeNetRequest |