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
- Support and feedback #
- Support and feedback Give us feedback to help us improve the platform and fix its bugs.
- Get help with Chrome extensions Where to go for help with questions not covered by the documentation.
- File a bug How to report extension bugs or problems with documentation.
- Submit a feature request Submit a request for a feature that you believe could improve the extension platform.
- Find and follow a bug Check whether a bug or feature request has already been reported.
- Support and feedback
- 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.
- 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.
- Publish your extension Guidance for publishing a new Manifest V3 extension
- 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 #
- 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.
- Debug extensions Instructions for debugging Chrome Extensions.
- 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.
- Use WebSockets in service workers Step-by-step instructions on how to connect to a WebSocket in your Chrome extension.
- 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 Understanding URL match patterns in Chrome extensions.
- Using promises How to use promises in extension APIs
- Cross-origin isolation Overview of cross-origin isolation for extensions
- Storage and cookies Overview of how web storage APIs and cookies work in extensions.
- Message passing
- In depth: security #
- Use eval() in sandboxed iframes How to use eval() in a Chrome Extension.
- Use eval() in sandboxed iframes
- 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.
- Override 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.
- Use geolocation How to use geolocation in Chrome extension service workers, popups, side panels, or content scripts.
- WebHID in extensions The WebHID API, which exposes Human Interface Device (HID) compatible devices to the web, is available in extensions.
- WebUSB in extensions The WebUSB API, which exposes non-standard Universal Serial Bus (USB) compatible devices to the web, is available in extensions.
- File handling on Chrome OS How to open files in Chrome extension service workers, popups, side panels, or content scripts.
- Unit testing Chrome Extensions How to write unit tests for extensions.
- End-to-end testing for Chrome Extensions How to write end-to-end tests for extensions.
- Tutorial: Testing Chrome Extensions with Puppeteer How to write an automated test for Chrome Extensions using Puppeteer.
- Overriding Chrome settings
- Best practices #
- Protect user privacy Guidelines for ensuring that your Chrome Extension protects user privacy.
- Permission warning guidelines How permission warnings work in Chrome extensions.
- 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.
- Use Google Analytics 4 Step-by-step instructions on how to track usage of your Extension with Google Analytics 4.
- 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 #
- In depth: core concepts #
- In depth: security #
- In depth: more topics #
- Best practices #
- Distributing your extensions #
- About Manifest V2