Get started

Welcome to Chrome Extension development. Discover everything you need to start building and distributing your first Chrome Extension.

Overview

What are extensions?

Chrome extensions enhance the browsing experience by customizing the user interface, observing browser events, and modifying the web. Visit theChrome Web Store for more examples of what extensions can do.

How are they built?

You can build extensions using the same web technologies that are used to create web applications:HTML,CSS, andJavaScript.

What can they do?

In addition toWeb APIs, extensions also have access toChrome Extension APIs to accomplish different tasks. For a more detailed overview, take a look at theDevelop guide.

Extension terminology

A Chrome extension is composed of parts that play different roles.

Manifest

The extension's manifest is the only required file that must have a specific file name: manifest.json. It also has to be located in the extension's root directory. The manifest records important metadata, defines resources, declares permissions, and identifies which files to run in the background and on the page.

Service workers

A service worker runs in the background and handles browser events, like removing a bookmark, or closing a tab. They don't have access to the DOM, but you can combine it with an offscreen document for this use case.

Content scripts

Content scripts run JavaScript in the context of a web page.

Toolbar action

Execute code when the user clicks on the extension toolbar icon or show a popup using the Action API.

Side Panel

Display custom UI in the browser's side panel.

DeclarativeNetRequest

Intercept, block, or modify network requests.

Publish to the Chrome Web Store

If you are building the extension for yourself, check out ourgetting started tutorial. If you want to publish to the Chrome Web Store, there are a few things you need to know first.

Design a high-quality extension

When choosing which features to support, make sure your extension fulfills asingle purpose that is narrowly defined and easy to understand.

Become familiar with the policies

Extensions distributed on the Chrome Web Store must comply with thedeveloper program policies. Explore these policies to ensure your extension can be hosted in the Chrome Web Store.

Include all extension logic

When writing your code, keep in mind that all logic must be included in the extension package. This means no additional JavaScript code may be downloaded at runtime.Improve extension security provides alternatives to executing remotely hosted code.

Tutorials

Choose any of the following tutorials to begin your extension learning journey.

Your first extension

Create your first hello world extension, where you will become familiar with the extension development workflow.

Run scripts on every page

Learn to automatically add elements to a specified site.

Inject scripts into the active tab

Learn to simplify the style of the current page by clicking the toolbar icon.

Create a tab manager

Learn to create a popup that manages your tabs.

Handle events with service workers

Learn to create and debug an extension service worker.

Debug your extension

Learn to find logs and error messages during debugging.