How to Make a Chrome Extension: From Idea to Publishing and Monetization

A simple Chrome extension takes two files and ten minutes. Getting users and revenue takes more: choosing a problem, publishing on the Chrome Web Store, promoting the extension, and adding monetization. Here is the whole path, step by step.

Step 1. Pick a problem

The best extension ideas are small, recurring tasks people already search for: dark mode for a service, a file converter, quick translation, tab management. Check demand in Chrome Web Store search and keyword tools: if similar extensions exist and have thousands of users, the demand is real.

Competitors are not a problem. Often it is enough to build a simpler, clearer solution for one use case. That is how the extension from the Dark Mode for Google Docs case study started: the first version took about a week, and it grew to 400K+ users.

Step 2. Build your first extension

Chrome extensions are built with HTML, CSS, and JavaScript. The minimal version from Google’s official tutorial is a folder with three files.

manifest.json

The main file of your extension: its name, version, permissions, and what opens when users click the icon. Extensions now use Manifest V3.

{
  "name": "Hello Extensions",
  "description": "Base Level Extension",
  "version": "1.0",
  "manifest_version": 3,
  "action": {
    "default_popup": "hello.html",
    "default_icon": "hello_extensions.png"
  }
}

hello.html

The popup that appears when users click your extension icon:

<html>
  <body>
    <h1>Hello Extensions</h1>
  </body>
</html>

Icon

Put an image named hello_extensions.png in the same folder — its name must match the default_icon field in the manifest.

Step 3. Load and test it

  1. Open chrome://extensions in Chrome.
  2. Turn on Developer mode in the top-right corner.
  3. Click “Load unpacked” and select your extension folder.
  4. Pin the extension via the puzzle icon and click it — the popup opens.

From here, your extension grows: popup scripts, content scripts for working with web pages, a service worker for background tasks. Request only the permissions you truly need: extra permissions worry both users and reviewers.

Step 4. Publish on the Chrome Web Store

  1. Register as a developer in the Chrome Web Store Developer Dashboard and pay the one-time registration fee (registration requirements). Use a dedicated email for publishing: you cannot change it later.
  2. Zip your extension folder and upload it via “Add new item”.
  3. Fill in the tabs: Store Listing (your store page), Privacy (your single purpose and what data you collect), and Distribution (countries and visibility).
  4. Submit for review. Review time varies by extension; after approval, you have 30 days to publish.

New developers can initially publish up to two extensions. See the publishing guide for details.

How much does it cost to publish a Chrome extension?

Publishing itself is free; the only cost is a one-time developer registration fee. For years it has been $5 (Computerworld), but Google’s current documentation does not state the amount, so check it in the dashboard when you sign up. There are no annual fees and no per-extension fees.

Step 5. Promote it

Your Chrome Web Store ranking depends on ratings, installs versus uninstalls, listing quality, and metadata. How to optimize your title, description, and screenshots, where to find your first users, and when to add ads — all covered in “How to Promote a Chrome Extension”.

Step 6. Monetize it

The main models are subscriptions or paid features, affiliate programs, donations, and in-extension ads. Subscriptions bring the most revenue per user but need a payment provider and a couple of thousand users. Ads let you earn from your whole audience without payments or a paywall. Compare them in “How to Monetize a Chrome Extension”.

If you choose ads, show them only inside your extension’s own interface: the Chrome Web Store prohibits injecting ads into third-party websites. Details are in our breakdown of the Chrome Web Store ads policy.

ExtAds is an ad network built for extensions: you embed a native banner in your popup, side panel, or extension page, choose campaigns yourself, and earn from impressions. See the For Publishers page, or message our manager on Telegram: @extads.

In short

  1. Pick a small problem with proven demand.
  2. Build a minimal version: manifest.json, a popup, and an icon.
  3. Test it with “Load unpacked”.
  4. Publish on the Chrome Web Store and fill in the Privacy tab.
  5. Promote it through your listing, search, and communities.
  6. Add monetization once you have active users.
keyboard_arrow_up