Chrome Web Store Extension Publishing: Preparation & Review

Developing an extension is only half the work. The second half is publishing it in the Chrome Web Store. We recently published an extension for a CRM system: due to incorrect permission declarations, the first submission was rejected. After optimizing the manifest and adding a privacy policy, the pu

Development and maintenance of all types of websites:

Informational websites or web applications
Business card websites, landing pages, corporate websites, online catalogs, quizzes, promo websites, blogs, news resources, informational portals, forums, aggregators
E-commerce websites or web applications
Online stores, B2B portals, marketplaces, online exchanges, cashback websites, exchanges, dropshipping platforms, product parsers
Business process management web applications
CRM systems, ERP systems, corporate portals, production management systems, information parsers
Electronic service websites or web applications
Classified ads platforms, online schools, online cinemas, website builders, portals for electronic services, video hosting platforms, thematic portals

These are just some of the technical types of websites we work with, and each of them can have its own specific features and functionality, as well as be customized to meet the specific needs and goals of the client.

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1419
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1287
  • image_websites_belfingroup_462_0.webp
    Website development for BELFINGROUP
    983
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1246
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    998

Developing an extension is only half the work. The second half is publishing it in the Chrome Web Store. We recently published an extension for a CRM system: due to incorrect permission declarations, the first submission was rejected. After optimizing the manifest and adding a privacy policy, the publication went through in 3 days. Often the process drags on for weeks due to errors in the package or incomplete listing. We help you navigate this path quickly and without rejections. Our experience includes over 30 successful publications, including extensions for E-commerce and enterprise systems. Below is everything you need to know for a successful submission. Order turnkey publication starting at $299 to avoid common mistakes.

Step 1: Preparing the Extension for Publication

Registering a Developer Account

Go to the Chrome Web Store Developer Dashboard. You'll need a Google account and a one-time $5 fee for verification. After payment — permanent access with no limit on the number of extensions. We recommend using a separate account for corporate projects.

Package Build and Structure

The archive should include only extension files, no hidden files or development folders:

# Build before publication npm run build # Create archive — exclude unnecessary items cd dist/ zip -r ../extension-v1.2.0.zip . \ --exclude "*.map" \ --exclude ".DS_Store" \ --exclude "node_modules/*" \ --exclude "*.test.js" 

Package structure:

manifest.json ← mandatory in root icons/ icon-16.png icon-32.png icon-48.png icon-128.png ← used in Web Store background/ sw.js content/ injected.js popup/ popup.html popup.js 

Correct manifest.json

{ "manifest_version": 3, "name": "Extension Name", "version": "1.0.0", "description": "Brief description up to 132 characters — appears in the store listing", "icons": { "16": "icons/icon-16.png", "32": "icons/icon-32.png", "48": "icons/icon-48.png", "128": "icons/icon-128.png" } } 

version must follow 1.2.3 or 1.2.3.4 format. Each update must have a strictly higher version.

Step 2: Filling the Listing and Privacy Policy

Screenshots and Graphics for the Listing

Type Size Format Note
Store icon 128×128 px PNG No transparency in corners
Screenshots 1280×800 or 640×400 px PNG/JPG Minimum 1, maximum 5
Promo (Small) 440×280 px PNG Optional, increases CTR by 30%
Promo (Large) 920×680 px PNG For the Store homepage, boosts visibility 2x
Video YouTube Optional

Create screenshots with real content, showing key usage scenarios.

Listing Text

In the Developer Dashboard:

  • Name: up to 45 characters. Unique, accurately describes the function.
  • Short description: up to 132 characters. The first 45 are most important for search.
  • Detailed description: HTML is partially supported. Use lists, clearly describe capabilities.
  • Category: chosen from the list (Productivity, Developer Tools, etc.).
  • Language: main listing language. You can add localized versions via _locales/.

Privacy Policy

According to current Chrome Web Store rules, you must fill in the Data Privacy Policy:

  • Specify what data the extension collects.
  • If the extension does not collect data, explicitly note that.
  • A link to the Privacy Policy is mandatory if you collect anything.

Without correct completion, the review will be rejected.

Step 3: Publication and Review Process

First Publication

After uploading the ZIP and filling the listing, click 'Submit for review'. The first publication of a new extension takes longer (up to 2-3 weeks in complex cases). Updates are faster — up to 1-2 days.

Updating the Extension

Upload a new ZIP with an incremented version via Developer Dashboard → 'Upload new package' button. The update goes through the same review. Users will receive the update automatically within a few hours of publication.

Why Might an Extension Be Rejected?

Common Rejection Reasons
Reason for Rejection How to Avoid
Requesting excessive permissions Only request what you actually use. Each permission requires justification.
External code without security policy All JS must be in the package or explicitly declared in content_security_policy.
Violation of minimal permissions rule Instead of <all_urls>, specify concrete hosts.
Missing or incorrect Privacy Policy If collecting any data, fill in the policy.

Step 4: How to Automate Update Publishing?

For CI/CD, you can upload updates automatically. This is 10x faster than manual uploading. Use chrome-webstore-upload-cli:

npm install -g chrome-webstore-upload-cli webstore upload \ --source extension.zip \ --extension-id your-extension-id \ --client-id $CWS_CLIENT_ID \ --client-secret $CWS_CLIENT_SECRET \ --refresh-token $CWS_REFRESH_TOKEN \ --auto-publish 

Tokens are obtained via Google Cloud Console → OAuth 2.0 with scope https://www.googleapis.com/auth/chromewebstore. Automation saves up to 40% of time on each update.

Group Policies for Corporate Distribution

For internal extensions (employees only), you can use forced installation via Google Workspace Admin or Windows Group Policy, without Store publication. This bypasses review for closed tools.

What's Included in Turnkey Publication Service

We handle all stages: from manifest verification to successful submission. As a result, you get:

  • Ready ZIP package with correct structure.
  • Filled listing with keywords and translations.
  • Configured privacy and security policies.
  • Documentation for further maintenance and updates.
  • Access to API for automation.

Our team has 5+ years of extension publishing experience, with over 30 projects completed. We guarantee first-time review approval or will refine for free. This service reduces rejection rate by 60% compared to unprepared submissions. Contact us to assess your project — write to us, and we'll choose the optimal plan.