Frequently Asked Questions

The Chrome Web Store lets you publish free or paid apps where Google Chrome users can easily find them. This FAQ answers many common questions about the Chrome Web Store. If you don't find your answer here, check the extension FAQs or the chromium-apps group.

General

What is the Chrome Web Store?
The Chrome Web Store is an open marketplace for Chrome Apps, Google Chrome Extensions, and Google Chrome Themes, where consumers may browse, install, and purchase items and install them in their browser. These apps are built with web technologies and run inside of web browsers.
How many people use Chrome?
In October 2011, Google announced 200 million active users for Chrome. It's also important to note that Chrome Web Store apps can run in any browser that supports the web technologies used to build the app.
Is there a road map for Chrome?
You can follow the Google Chrome Releases blog to learn about all the latest changes that are being made to Chrome. You can create and track bugs and features in the Chromium bug tracker, and we recommend that you download and install the Dev channel build of Chrome browser.
Which version of Chrome should I target for my Chrome Web Store apps?
You should target Chrome 8 as a minimum, however the Chrome Web Store was made available to all users in Chrome 9.
Why would someone install a web app instead of just using a bookmark or typing in a URL?
Installing an app ensures it is launchable from the New Tab Page via the Chrome apps launcher. Installing an app also allows you to grant it privileges such as unlimited local storage and background pages.
Is there an approval process for apps in the store?
All apps go through an automated review process and in most cases, an app will be published without further manual review. There may be some instances in which a manual review will be required before the app is published based on our program policies.
How will users find my app?
The Chrome Web Store will surface web apps in a variety of ways. Of course, each app gets a page in the store, which will be searchable via the store and other search engines. There will be category lists in the store, as well as a variety of curated and algorithmically generated lists. We recommend that you broadly promote your web app, through marketing websites and other means, so that users will find your app even outside of the store.
Why am I being asked to pay a registration fee?
The new registration fee helps to prevent fraud in the Chrome Web Store.
Why am I not being asked to pay a registration fee?
The fee is waived for developers who signed up with the Chrome Extensions Gallery before August 19, 2010.
How can I signup using my Google Apps email address (for example, admin@example.com)?
If you can't sign into the Chrome Developer Dashboard with your Google Apps email address, you have two options:
  1. Go to https://www.google.com/accounts/NewAccount, and create a Google Account whose login email is your Google Apps email address. Once you do this, you'll be able to log in using that email address. Note, however, that you'll have two accounts with the same login email address: a Google Account and a Google Apps account.
  2. Wait until the domain is transferred to the new Google Apps account infrastructure. Transitioned Google Apps accounts will be able to log into the Chrome Developer Dashboard. For more information, read the help for the new Google Apps infrastructure.

We recommend option 1 if you want to get up and running as soon as possible.

What types of apps or extensions are not allowed in the store?
While we try to allow most apps and extensions, a small number of extensions are explicitly disallowed in our Developer Terms of Service and Program Policies. Such apps or extensions will be removed when they are brought to our attention.
How do I report an abusive app or extension?
To report an app or extension which violates our Terms of Service, locate the corresponding listing in the store and use the "Report abuse" link.
How are items ranked in the store?
Items in the store are ranked by a heuristic that takes into account ratings from users as well as usage statistics, such as the number of downloads vs. uninstalls over time.
How are "Featured" items selected?
The Chrome Web Store team occasionally selects interesting listings as "Featured" listings. We're not accepting requests to be featured at this point, since that would quickly become unmanageable. Here are a few tips to increase the likelihood that we'll feature your listing:
  • Write a great piece of software
  • Make sure your listing looks really nice (nice icon, good descriptions, crisp screenshots and/or videos)
  • Promote your listing independently so that it starts to rise in the rankings
How can my app or extension be selected for a collection?
The collections are curated, and are not intended to be comprehensive. There are no specific criteria for being featured or put in a collection, although there are published best practices and general guidelines that we believe help make high quality listings. Solicitations to be placed in a collection are not accepted.
How can I provide support for users of my app or extension?
You can set up discussion groups to communicate with your users. One way of doing so is through Google Groups.
Can I remove comments from my listing if I believe they are unfair?
No, you can't remove user comments. However, we encourage you to respond to user feedback in the comments to show that you are addressing their concerns.

Back to top

Development

How do I write an app or extension?
You can find all the information you need to develop extensions and apps at http://developer.chrome.com/extensions/ and http://developer.chrome.com/apps/, respectively.
What technologies can I use to build installable web apps?
Any web technology that works inside a browser is a candidate for building web apps. Most web apps will be built with HTML, CSS, and JavaScript. However, developers are free to use other technologies such as Flash or Silverlight (dependent on browser support and installed plugins, of course).
Should I build a web app or an extension?
Extensions are primarily used to extend functionality of the user's browser. For instance, extensions are commonly used to interact with the pages that a user views, add custom context menus, or manipulate tabs and windows. Web apps, on the other hand, are applications in their own right and rarely need to extend browser functionality. For more information, see Choosing an App Type.
How can I push an update of my code to my users?
Visit https://chrome.google.com/webstore/developer/dashboard and click Edit on the listing you wish to update. Once you upload a new version and click Publish, your update will automatically be pushed out to users over the next few hours.
Can I host my own app or extension?
Yes, you may host your own app or extension, although you will need to take care of packaging, hosting, and serving the auto-update manifest yourself.

Back to top

Creating a listing

In what format should I upload my code?
To upload an item to the gallery, submit a ZIP file containing the files used in your app, theme, or extension. Do not upload a .crx file; the submission will fail.
How long will it take for my listing to appear in the store?
Most listings will appear in the store immediately after being published. If your app or extension doesn't appear after it's uploaded, make sure you've clicked the Publish link.
How can I remove my listing from the store?
Visit https://chrome.google.com/webstore/developer/dashboard and click Unpublish. Your listing will no longer be visible in the store.
What are the screenshot and text requirements for the store?
See Supplying Images for guidelines on supplying images for the store. Some other best practices to consider:
  • Write a catchy title, a clear and descriptive short description, and a detailed long description.
  • Create screenshots that demonstrate how your app or extension works.
  • Upload a screencast, such as a YouTube video or a Google Docs Presentation, to demonstrate how your app or extension works.
  • Post a support link so that users don't clutter your comments thread with bug reports.
How can I import an existing app or extension into the store?
You may import an app or extension with a pre-existing key into the store (see instructions).
How can I export an app or extension from the store?
Currently we do not support exporting a listing's sources or private key from the store.
Why did I receive a "Cannot parse the manifest" error when uploading my app or extension?
The manifest file needs to be in JSON format. Most likely, you've included a comment in the manifest file that is not recognized by the gallery's JSON parser. Try removing any comments from the manifest file and try re-uploading.
I've verified my domain, and I have a wildcard app URL like *://example.com, but the Chrome Web Store is still asking me to verify my domain. What gives?
If you use a wildcard like *://example.com, make sure you have verified both http://example.com and https://example.com.
When I try to upload my app to the Chrome Web Store, I get this error: "(Server rejected) An error occurred: please try again later." What gives?
This error occasionally occurs if you've been logged into the Chrome Web Store for a long time. If you sign out of your Google Account and then sign back in, you should be able to upload your app.
Can I control the regions where my app is listed?
Yes, you can select which regions your application appears in. This might be because your app is only applicable to the local market, or you might have specific obligations that mean you can only make your app available in certain regions.
How do I localize my listing in the store?
There are two points where you need to localize your app for listing in a region that isn't your home market.
  1. Your app package. See Internationalizing Your App for information on localizing your app's presence inside Chrome.
  2. Your detailed listing. The developer dashboard now includes the ability for you to select all the regions that you want your application to appear in, allows you to localize the detailed description, price points relative to the market you are in, and screenshots.
How do I localize my detailed description?
You first need to internationalize your app and specify a "default_locale" attribute in your manifest. Once you upload your internationalized app, a selection box will appear at the top of your app listing, allowing you to switch between languages that you support and change the detailed description.
How do I show different screenshot images per region?
Visit your app page in the Chrome Web Store Developer Dashboard, change the currently selected language to your desired choice (for example "en-GB") and upload a screenshot as normal. Once the image is uploaded you will be presented with an option to "Show this item in all locales" or "Show this item only in the 'en-GB' locale". Select the later to show the screenshot to only users of the "en-GB" Chrome Web Store.
My item’s status says "pending review." What does this mean?
Your item may be held up in a "pending review" state for a few possible reasons:
  • The item may have been flagged for further review by automated system checks. For instance an item with an NPAPI plugin or an item potentially containing malware could trigger this flag. These manual reviews may take up to a few business days.
  • The item may have already been previously removed for a legal or policy violation, and has been resubmitted. The "pending review" status means that it’s going through a compliance review. It’s hard for us to provide guidance on how long this review will take, as it depends on the nature of the issue. For questions, respond to the removal notification email from our abuse team.
  • The item may have an NPAPI plugin, which requires a signed agreement from you. Check your email account associated with the item for an agreement notification from our abuse team.

Back to top

Payments and license server

What technologies does the Chrome Web Store Payments system use?
The Chrome Web Store Payments system uses Google Wallet for Digital Goods .
How can I verify that a user has paid for my app?
You can use the Chrome Web Store Licensing API.
What technologies are used to take payments?
  • If you want to use the integrated experience available from the Chrome Web Store, then the Google Wallet for Digital Goods system will be used.
  • Alternatively, you are free to integrate with any third party payment processor. Note however that these payments will not be integrated with the store experience.
I already have a credit card merchant account. Do I really have to use Google Wallet for Digital Goods?
No, not to be listed in the store. Google Wallet for Digital Goods is used to provide an intuitive, integrated experience for users of the Chrome Web Store. You are free to use a third party payment processor.
I already use Paypal. Do I have to use Google Wallet for Digital Goods?
No, not to be listed in the store. Google Wallet for Digital Goods is used to provide an intuitive, integrated experience for users of the Chrome Web Store. However, you may list your app in the store and use any payment processor.
Does the Chrome Web Store have a preferred way to do in-app payments?
We recommend the Google In-App Payments API for the Web, but you are free to use any in-app purchase system.
Is the Chrome Web Store Licensing API final?
The API is mostly final, but we might add a few fields in a backward-compatible way.
How does the Licensing API use OAuth?
Your app (the "Consumer" in OAuth terms) needs an OAuth access token so that it can use the Licensing API (the Service Provider). You (the User) can ask the Chrome Developer Dashboard to give you an access token for each app that you upload. When the dashboard generates this access token on your behalf, it uses "anonymous" for both the consumer key and secret. If you want to use your own consumer key and secret, you can use an OAuth tool such as the OAuth Playground to get the access token.
Does the free trial option provide time-limited trials?
Yes, you can provide a time or feature limited trial of your application. See the section on verifying payment and offering free trial .
Can a Chrome Web Store app be both paid and free trial?
Yes, you can mark your web app as both paid and free trial.
I'm not based in the US, can I still sell my app or extension?
Yes, if you are in a supported region, you'll be able to sell apps and extensions.
I am a developer in region X, will I be able to sell my app in region Y?
Yes. As long as you are a merchant in one of the listed regions you will be able to sell your app in the store to any user who is in a Google Checkout buyer supported region. If you're in an unsupported region, you can use a custom payment solution to sell your app.
Great, I can sell my app in many regions. How do I manage the pricing across all these currencies?
You may have noticed that apps are placed into a tier for pricing. This allows us to select the most competitive price point for each currency, based on a variety of local factors.
If pricing is set in tiers, does that mean I am locked in to the same tier across all the regions I sell my app in?
No. This is the really great part of the system: you can choose a price point for all the regions you want to sell in. You have a local competitor in your region? Not a problem, you can price your app to be competitive in that market. Simply edit your app in the Chrome Web Store Developer Dashboard, select the regions that you want to list your app in and the appropriate price tier.
Is there a big table that will tell me what I will receive from each region with the fees included?
Yes. We have a useful price matrix for you to use.
If I list in all these regions, when and how do I get paid?
You get paid monthly, in your own currency. When an app is purchased the revenue minus the fees will be converted into your own currency.

Back to top

Installable web apps

What is the difference between packaged apps and hosted apps?
Hosted apps operate as traditional web apps (served via web servers and running inside of web browsers) and do not have access to the extended Chrome APIs that extensions can use. Packaged apps are bundled into the .crx file and can use the extensions APIs.
Can I sell a packaged app?
Yes, but there are risks in doing so. Specifically, it is easy for motivated people to bypass payments for packaged apps. This holds true even if you have used our Licensing API in your locally stored packaged app, since locally stored content is not secure and can be modified (including calls to the Licensing API). If you’d like to have the option of blocking access to your app by unauthorized users, selling a packaged app may not be the right solution for you. An alternative to consider is moving to a hosted app model with a server-side licensing check.
Why do you allow developers the option of paid packaged apps?
There are good reasons to offer a paid packaged app, even with the limitations explained above. Packaged apps let you easily provide functionality to your users without the overhead of managing a hosted service. Charging for a packaged app is a quick and simple way to enable a low-friction transaction if the app provides clear user value. However, it is up to the developer to decide which solution is right for him or her.
Can installable web apps have page actions?
No. Although packaged apps get most of the functionality of extensions, they can't have page actions.
Can installable web apps have browser actions?
No. Although packaged apps get most of the functionality of extensions, they can't have browser actions.
Can I use Google AdSense in my web app?
Yes, as Chrome Web Store apps are just web apps.
Can I use Google Analytics?
Yes. Packaged apps and extensions can use the Chrome Platform Analytics library. Hosted apps can use one of the Google Analytics libraries for standard websites (e.g., analytics.js).
What is the size limit for apps in the store?
The .crx file is currently limited to 2GB.
I have a free Flash game, can I host it in the store?
Yes. If you want to host it on your server, it is exactly the same as hosting a Flash file on your site. If you create a packaged app, you must include the complete app (with Flash file) in your ZIP file.
I have a Flash game that I would love to be able to take payments for, how can I do it?
Flash games are hosted inside a web page, this means that the payment infrastructure can be handled on the server that hosts the container page. Using the Licensing API makes it easy to determine if a user has paid or not.
Do installable web apps run from the desktop, installed as separate apps, or otherwise operate independently of the browser?
No, Chrome Web Store apps are just web apps written with traditional web technologies, and are run via the browser.
What is actually installed by an installable web app?
Only the .crx package is actually installed into the browser; any contents not bundled into the .crx package will continue to be served by web servers. Installable web apps are not installed into the base operating system, desktop, or outside of the browser.
Do Chrome Web Store apps work in browsers other than Chrome?
Hosted apps are built with standard and common web technologies, and depending on the features you choose, will work in most or all browsers. The .crx package information you create to list the app in the store will not work with other browsers, but users do not need the .crx package to access a hosted web app in other browsers. (They can always directly access the app.) Packaged apps, because they are packaged in .crx files and might access the Google Chrome Extension APIs, will not work in other browsers.
Will users of other browsers be able to install apps directly from the Chrome Web Store?
Not at this point. However, they will be able to access your app via directly typing in the URL, launching bookmarks, and discovering your app via search engines. We hope that some form of installable web apps is a concept that appeals to other browsers and will eventually be a cross-browser feature.
Do installable web apps work on different operating systems?
Yes. They are just web apps, and are typically written with web technologies like HTML, CSS, and JavaScript.
How do I store my content for offline access?
This answer to this depends on the type of content and the storage requirements.
  • For a packaged app or extension, you can put all HTML, CSS, JavaScript, images, and other assets into your .crx file. This embeds everything you need into the installable .crx file. This bundling might be good for apps with content that rarely changes, such as ebooks. Chrome provides an update mechanism to automatically deliver your updates to your users.
  • The App Cache, an HTML5 feature, is a good way to locally cache resources such as HTML, CSS, and JavaScript. These resources aren't included in the .crx file, but are downloaded the first time the app is accessed. They are not downloaded again until the App Cache file itself is changed. The App Cache is good for enabling fast startup, while retaining control over asset versioning.
  • Local Storage, another HTML5 feature, is a key/value storage system that can store strings. Local Storage is often used in place of some cookies, and it lives longer than the session. There is no way, however, to send a populated Local Storage database on application install or load. You will need to populate the Local Storage programmatically.
  • WebSQL DB is a full SQL database embedded in the Chrome browser. While stalled in the standards process, this is a very powerful way to store highly structured data. Again, there is no way to send a populated database on application install or load, so you will have to programmatically populate the database. Also, this database can only store text, but you can use the data URI scheme to store binary data.
  • In the future, the File APIs will be a useful addition to this array of offline storage options, as they allow your web app to read and write files to a locally managed file store. These APIs are not fully supported by Chrome, but follow the Google Chrome Releases blog to stay up to date.

For more details, read a more detailed article on HTML5 offline options.

What makes a good web app?
While this is a subjective question, we have some notes in the article Thinking in Web Apps. Briefly, and generally speaking, apps that are Big Screen, have a Rich Experience, are Good At One Thing, are Visually Appealing, and are Fast will be web apps that people love to use.
What is the screen resolution for Chrome Web Store apps?
Typical screen resolutions are 1024x768 and 1280x1024, but because users are free to resize their browser windows, we recommend fluid, full screen layouts that resize gracefully down to 1024x768 (but then should scale up to very large, as well). Consider using Google Analytics to see what the most common screen resolutions are for your app's users.
Do apps run in full screen?
Apps can run in full screen mode using the Fullscreen API. See this HTML5Rocks update for more information on using this API in your application.
Will apps work on Android?
If your app is pure HTML, CSS3, and JavaScript and is hosted on your servers there is a good chance that it will work in the browser on Android. However, .crx files (including packaged apps) are not supported on Android. Users cannot install their apps onto the Android browser, but they can most likely use those apps by directly accessing the app's URL.
Will apps work on Google TV?
Google TV runs the Chrome browser, so it should be able to run your hosted web app. Installing apps directly from Chrome Web Store will not be available on Google TV at launch however. Users may directly type the URL for your hosted app, or use traditional search to find and start your app.
What can I do to protect the content of my web app?
You can determine if a user has paid for access to your app by using the Chrome Web Store Licensing API. If the user hasn't bought the app you deny access to that resource. Ultimately, Chrome Web Store apps are just web apps, so the same considerations for content protection must be taken into account.
What happens when a user clicks an external link in my app?
The same thing as if they clicked a link that's internal to your app: the browser follows the link, using the current tab.
How should my app handle the back button?
As with all web apps, you cannot rely on the back button always being present. Users might hide them, screen readers might not use them correctly, and so on. You should design your app to correctly support both back buttons and application-defined navigation.
How can I detect whether my app is running as an installed web app and via the Chrome app launcher (and not just via a bookmark or link)?
Use JavaScript to check whether window.chrome.app.isInstalled is defined. If it is, the app is running from the Chrome app launcher. Here's an example of the code you'd use:
if (window.chrome.app.isInstalled) {
 // You're running as an installed app, via the app launcher!
 } else {
  // You're running via a bookmark/link.
}
My app is available in multiple regions. Can I list it in different categories for each region?
No, the categories will be consistent across regions. If you list in one category, you will be listed in that category in all regions.
What is the difference between using inline installation and hosting a .crx file on my own site?
Both inline installation and hosting your own .crx file allow you to install items directly from your site (instead of sending users away to the Chrome Web Store). Inline installation has two advantages over self-hosted .crx files. Since inline installs are tied to a store entry that has user reviews and ratings, they are considered safer. Therefore, users will not see the "Extensions, apps, and themes can harm your computer..." download bar when the extension or app is about to be installed. Additionally, you don't have to maintain two different .crx files (one for the store and one for self-hosting), if you still want your item to be discoverable in the store.
Is inline installation supported with all items?
Inline installation is only supported for free Chrome Web Store items. If you use it with an item that requires payment at installation time, the failure callback of the install method will be invoked, and the Chrome Web Store page for the item will be opened in a new tab.

Back to top

Extensions

Can I sell extensions in the store?
Yes! You can sell your Chrome Extension using one-time payments.
Can I use the Licensing API with extensions?
Yes, see the section on verifying payment and offering free trial .

Back to top

Themes

Can I sell themes in the store?
Yes! You can sell your Chrome Theme using one-time payments.
Can I use the Licensing API with themes?
No, themes have no code or server-side components.

Back to top