Extension Coder
← All posts

How to Publish a Chrome Extension to the Chrome Web Store

Publishing a Chrome extension is straightforward once you know what Google requires. Here is the full process.

Before You Start

Your extension must use Manifest V3. Google no longer accepts Manifest V2 extensions. If you are using an older tutorial or an older generated extension, check your manifest.json and confirm it has "manifest_version": 3.

You will also need your extension packaged as a zip file containing all the source files (not a single .crx, just a zip of the folder contents).

Step 1: Create a Chrome Web Store Developer Account

Go to the Chrome Web Store Developer Dashboard. Sign in with your Google account.

Pay the one-time $5 registration fee. You will need to enable two-factor authentication on your Google account before Google will let you publish. This is not optional.

The $5 is per developer account, not per extension. You can publish multiple extensions from one account.

Step 2: Create a New Item

In the developer dashboard, click "New Item." Upload your zip file. The dashboard will parse your manifest.json and populate some fields automatically.

This first upload is done manually through the web UI. There is no CLI or API for initial submission (the Chrome Web Store API only supports updates to existing items).

Step 3: Fill Out the Store Listing

You will need:

  • Name and description. The description shows in search results, so write something accurate and clear. You have 132 characters for the short description.
  • Category. Pick the one that fits best (Productivity, Developer Tools, etc.).
  • Screenshots. At minimum, one 1280x800 or 640x400 screenshot. These are required. A 440x280 promotional tile is optional but helps your listing look professional.
  • Language. Set your primary language.

Step 4: Set Up the Privacy Tab

Google requires a privacy policy if your extension handles any personal data, uses remote code, or requests certain permissions. Even simple extensions often need one.

You also need to declare:

  • What data your extension collects (if any)
  • Whether it is sold or shared with third parties
  • A link to a hosted privacy policy page (a GitHub page or simple website is fine)

Step 5: Justify Your Permissions

If your extension requests broad permissions (like access to all sites with ****), Google will ask you to justify them. Be specific: explain what the permission is used for and why a narrower permission would not work.

Extensions with unjustified broad permissions are frequently rejected or delayed in review. Only request what you actually need.

Step 6: Submit for Review

Click "Submit for Review." Google will send an email when the review is complete (approved or rejected with reasons).

First-time submissions from new accounts tend to take longer. Expect anywhere from a few days to a few weeks. Subsequent updates to an existing extension are usually faster.

If your extension is rejected, Google provides a reason. Address it, update the listing or code, and resubmit.


If you still need to build your extension before publishing, Extension Coder can generate one from a plain-English description. Build one now and have a zip ready to upload.

Build it without the setup.

Describe the extension you want and Extension Coder builds it, previews it live, and helps you publish.

Start building