Extensions
Extensions are software programs, built on web technologies (such as HTML, CSS, and JavaScript) that enable users to customize the Chrome browsing experience.
- Documentation for Chrome extensions developers.
- Recent changes to the Chrome extensions platform, documentation, and policy
- Step-by-step instructions on how to create a Chrome Extension.
- Introducing Manifest V3 #
- Welcome to Manifest V3An introduction to Manifest V3
- Extensions platform visionWhere the extensions platform is headed and why
- Overview of Manifest V3A description of the features and changes introduced by Manifest V3.
- Migrating to Manifest V3A high-level guide to how you can migrate your MV2 extensions to MV3.
- Manifest V3 migration checklistA quick reference on migrating your Chrome Extensions from Manifest V2 to Manifest V3.
- Manifest V2 support timelineDetails of the Manifest V2 phase-out and end of life.
- Welcome to Manifest V3
- Overview #
- What are extensions?An overview of the purpose of Chrome Extensions and how they're developed.
- What are themes?Guidelines on how to create a theme.
- Frequently asked questionsFrequently asked questions about Chrome Extensions.
- Extensions quality guidelines FAQFrequently asked questions about the single purpose policy.
- What are extensions?
- The complete reference to all APIs made available to Chrome Extensions. This includes APIs for the deprecated Chrome Apps platform as well as APIs still in beta and dev.
- Examples of extensions that address various use cases and call appropriate Chrome APIs. Use these to learn how extensions work or as a starting point for building your own extensions.
- Develop extensions and themes #
- Extension development overviewAn overview of Chrome Extension capabilities and components.
- Manifest file formatAn overview of the manifest.json properties that you can use in your Chrome Extension.
- Architecture overviewA high-level explanation of the software architecture of Chrome Extensions.
- Declare permissionsAn overview of the valid values for the permissions property in manifest.json.
- Design the user interfaceUI and design guidelines for Chrome Extensions.
- Debugging extensionsStep-by-step instructions on how to debug Chrome Extensions.
- Samples
- Extension development overview
- In depth: core concepts #
- Message passingHow to pass messages between extensions and content scripts.
- Content scriptsAn explanation of content scripts and how to use them in your Chrome Extension.
- Match patternsHow host permission and content script pattern matching works, with examples.
- Using promisesHow to use promises when calling extensions APIs
- Cross-origin isolationOverview of cross-origin isolation for extensions
- Message passing
- In depth: security #
- Cross-origin XMLHttpRequestHow to implement cross-origin XHR in your Chrome Extension.
- Using eval in Chrome extensionsHow to use eval() in a Chrome Extension.
- Cross-origin XMLHttpRequest
- In depth: more topics #
- Overriding Chrome settingsHow to override Chrome settings from a Chrome Extension.
- Extending DevToolsHow to create a Chrome Extension that adds functionality to Chrome DevTools.
- OAuth2: Authenticate users with GoogleStep-by-step instructions on how to build an extension that accesses a user's Google contacts via the Google People API, the Chrome Identity API, and OAuth2.
- Overriding Chrome pagesHow to override the Chrome bookmark manager, history, and new tab pages from your Chrome Extension.
- Rich notifications APIHow to show notifications to your Chrome Extension users.
- Overriding Chrome settings
- Modernize your extensions #
- Migrating from background pages to service workersHow to migrate your Chrome Extension from background pages to service workers, which is a prerequisite for using Manifest V3.
- Migrating from background pages to service workers
- Best practices #
- Protect user privacyGuidlines for ensuring that your Chrome Extension protects user privacy.
- Declare permissions and warn usersHow to implement permissions to protect your users and your Extension.
- Stay secureHow to keep your Chrome Extension secure.
- Accessibility (a11y)How to make your Chrome Extension accessible.
- Localization message formatsReference documentation about the format of the messages.json file for Chrome Extensions.
- Give users optionsHow to let users customize your Extension.
- Protect user privacy
- Distributing your extensions #
- Chrome Web StoreHow to host your extension in the Chrome Web Store and update an extension that's hosted in the Chrome Web Store.
- Alternative extension distribution optionsHow to distibute Chrome Extensions outside of the Chrome Web Store.
- Installing extensions on LinuxHow to package, host, and update crx files from a personal server.
- Tutorial: Google analyticsStep-by-step instructions on how to track usage of your Extension with Google Analytics.
- Chrome Web Store
- Manifest V2 #
- About Manifest V2Documentation for Chrome extensions developers.
- Getting startedStep-by-step instructions on how to create a Chrome Extension.
- Overview #
- Develop extensions and themes #
- In depth: core concepts #
- In depth: security #
- In depth: more topics #
- Modernize your extensions #
- Best practices #
- Distributing your extensions #
- About Manifest V2