Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and code samples are licensed under the BSD License.
©2010 Google
Until the Chrome Web Store is available to the public, you can host your extension using the Extensions Gallery. Once the store is public, the gallery's contents will be merged into the store. Another option is hosting your extension on other servers.
This page gives tips for using the gallery, as well as details on how to host extensions on your own server.
To publish extensions, you first need to pay a one-time $5 developer registration fee.
Note: If you used the Chrome Developer Dashboard before the first developer preview release of the Chrome Web Store — to publish an extension, for example — you don't need to pay the fee.
Publishing to the gallery is easy, but your extension might be more popular if you take a little time to prepare:
To upload your extension, just zip up your extension's directory, go to the Developer Dashboard, and add your extension. This creates a page for your extension, viewable only by you. Now you can edit your extension's page — uploading images, specifying text, and so on.
Once you verify that your extension's page looks good and all links are valid, publish your extension.
When you want to update your extension, use the dashboard to upload and publish the new version. Your users will automatically get the new version over the next few hours.
By convention, extensions are served —
whether by the gallery or by a custom server —
as .crx
files.
When you upload an extension to the gallery,
the gallery creates the .crx
file for you.
If you aren't using the gallery,
you need to create the .crx
file yourself,
as described in Packaging.
Note: If you do your own hosting, don't forget to set up autoupdate, so you can be sure that your extension's users have the latest version.
A server that hosts extensions must use appropriate HTTP headers, so that users can install your extension by clicking a link to it.
Google Chrome considers a file to be an extension if either of the following is true:
application/x-chrome-extension
.crx
and both of the following are true:
X-Content-Type-Options: nosniff
The most common reason for failing to recognize an extension
is that the server sends the header
X-Content-Type-Options: no sniff
.
The second most common reason
is that the server sends an unknown content type —
one that isn't in the previous list.
To fix an HTTP header issue,
either change the configuration of the server
or try hosting the extension at another server.