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
- Where to go for help with questions not covered by the documentation.
- Getting Started Guides #
- Welcome Overview of all Chrome Extensions getting started guides.
- Extensions 101 Explore basic concepts of Chrome extension development.
- Development basics What to expect during the development of a Chrome extension.
- Run scripts on every page Learn how to automatically add new elements to existing webpages.
- Inject scripts into the active tab Learn how to simplify the style of the current page.
- Manage tabs Learn how to programmatically organize tabs using tab groups.
- Handle events with service workers Learn how to create and debug an extension service worker.
- Welcome
- Manifest V3 #
- Welcome to Manifest V3 An introduction to Manifest V3
- Extensions platform vision Where the extensions platform is headed and why
- Overview of Manifest V3 A description of the features and changes introduced by Manifest V3.
- Welcome to Manifest V3
- Overview #
- What are themes? Guidelines on how to create a theme.
- Frequently asked questions Frequently asked questions about Chrome Extensions.
- Extensions quality guidelines FAQ Frequently asked questions about the single purpose policy.
- What are themes?
- Migrate from Manifest V2 to Manifest V3 #
- Migrate to Manifest V3 A guide to converting Manifest V2 extensions to Manifest V3 extensions.
- Manifest V3 migration checklist A quick reference for upgrading your extensions from Manifest V2 to Manifest V3.
- Update the manifest The manifest.json file requires a slightly different format for Manifest V3 than for Manifest V2.
- Migrate to a service worker A service worker enables extensions to run only when needed, saving resources.
- Update your code The first of three sections describing changes needed for code that is not part of the extension service worker.
- Replace blocking web request listeners The second of three sections describing changes needed for code that is not part of the extension service worker.
- Improve extension security The last of three sections describing changes needed for code that is not part of the extension service worker.
- Manifest V2 support timeline Details of the Manifest V2 phase-out and end of life.
- Known issues when migrating to Manifest V3
- Migrate to Manifest V3
- 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 overview An overview of Chrome Extension capabilities and components.
- Manifest file format An overview of the manifest.json properties of a Chrome Extension.
- Architecture overview A high-level explanation of the architecture of Chrome Extensions.
- Declare permissions An overview of the valid values for the permissions property in manifest.json.
- About extension service workers Extension service workers are an extension's central event handler. That makes them different from web service workers.
- Design the user interface User interface and design guidelines for Chrome Extensions.
- Debugging extensions Step-by-step instructions on how to debug Chrome Extensions.
- Samples Intro to extension examples GitHub repository
- Extension development overview
- Service workers #
- About extension service workers Extension service workers are an extension's central event handler. That makes them different from web service workers.
- Extension service worker basics Extension service workers are installed and updated differently from web service workers.
- The extension service worker lifecycle Extension service workers respond to both standard service worker events and events in extension namespaces. They are presented together because often one type follows another during an extension's use.
- Events in service workers Extension service workers respond to both standard service worker events and many events in the extension APIs.
- About extension service workers
- In depth: core concepts #
- Message passing How to pass messages between extensions and content scripts.
- Content scripts An explanation of content scripts and how to use them in your Chrome Extension.
- Match patterns How host permission and content script pattern matching works, with examples.
- Using promises How to use promises in extension APIs
- Cross-origin isolation Overview of cross-origin isolation for extensions
- Message passing
- In depth: security #
- Cross-origin XMLHttpRequest How to implement cross-origin XHR in your Chrome Extension.
- Using eval in Chrome extensions How to use eval() in a Chrome Extension.
- Cross-origin XMLHttpRequest
- In depth: more topics #
- Overriding Chrome settings How to override Chrome settings from a Chrome Extension.
- Extending DevTools How to create a Chrome Extension that adds functionality to Chrome DevTools.
- Fetching favicons How to get a website's favicon.
- OAuth2: Authenticate users with Google Step-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 pages How to override the Chrome bookmark manager, history, and new tab pages from your Chrome Extension.
- Rich notifications API How to show notifications to your Chrome Extension users.
- Native messaging Exchange messages with native applications from your Chrome Extension.
- Audio recording and screen capture How to record audio or video from a tab, window, or screen.
- Overriding Chrome settings
- Best practices #
- Protect user privacy Guidelines for ensuring that your Chrome Extension protects user privacy.
- Declare permissions and warn users How to implement permissions to protect your users and your Extension.
- Stay secure How to keep your Chrome Extension secure.
- Accessibility (a11y) How to make your Chrome Extension accessible.
- Localization message formats Reference documentation about the format of the messages.json file for Chrome Extensions.
- Give users options How to let users customize your extension.
- Protect user privacy
- Distributing your extensions #
- Extension hosting How to host your Chrome extension.
- Alternative extension installation methods How to install Chrome Extensions via preferences JSON or Windows registry.
- Installing extensions on Linux How to package, host, and update crx files from a personal server for Linux users.
- Tutorial: Google analytics Step-by-step instructions on how to track usage of your Extension with Google Analytics.
- Extension hosting
- Manifest V2 #
- About Manifest V2 Documentation for Chrome extensions developers.
- Getting started Step-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 #
- Best practices #
- Distributing your extensions #
- About Manifest V2