Store languages and image sizes

Chrome Web Store multilingual listing strings and required icon, screenshot, and promo image dimensions.


When you submit a theme to the Chrome Web Store, you need listing copy and promotional images in addition to the theme ZIP. This page explains the usual image sizes and the optional advanced setup for multilingual theme names and descriptions.

For the full publish flow, see Publish to the Chrome Web Store.

What the listing needs

AssetSizeRequired?Notes
Store icon128×128RequiredPNG; the creator writes icons/icon-128.png on ZIP export
Screenshots1280×800 or 640×400At least 1Up to 5; 1280×800 recommended
Small promo tile440×280RequiredSearch results, category pages, and similar tiles
Marquee promo tile1400×560OptionalFeatured carousel placements; without it you are not eligible for those slots

Formats are typically PNG or JPEG.

Promo image tips

  • Fill the entire canvas—do not leave undefined transparent margins
  • Do not use transparent backgrounds because they may be rejected or appear black in the store
  • If the source is smaller than the target size, place it on a solid-color background
  • Google recommends avoiding large areas of pure white / light gray (they blend into the store’s light background)
  • Keep the subject readable at small sizes; avoid dense text

Advanced: multilingual theme names and descriptions

The Chrome Web Store listing itself supports translations in its dashboard. If the installed theme also needs to display a localized name and description, add language files to the theme package. This step requires manual editing and is not necessary for a single-language theme.

Typical layout:

my-theme/
|-- manifest.json
|-- _locales/
|   |-- en/
|   |   `-- messages.json
|   `-- zh_CN/
|       `-- messages.json
|-- images/
`-- icons/
    `-- icon-128.png

Reference those strings from manifest.json and set a default locale, for example:

{
  "manifest_version": 3,
  "default_locale": "en",
  "name": "__MSG_themeName__",
  "description": "__MSG_themeDescription__",
  "version": "1.0"
}

Example messages.json:

{
  "themeName": {
    "message": "My Theme"
  },
  "themeDescription": {
    "message": "A short description for the store listing."
  }
}

Notes:

  • message: the user-visible string (theme name / description)
  • description (optional): translator-only hint—not shown to users; safe to omit
  • Provide separate files under en, zh_CN, and other locale folders as needed; Chrome picks by the user’s language

When you export store assets from the creator, the ZIP includes the theme package, a 128×128 store icon, a 1280×800 screenshot generated from the browser preview, and 440×280 small and 1400×560 marquee promo tiles generated from the source wallpaper. The export does not generate _locales; if you need localized names and descriptions, add _locales using the structure above, set default_locale in manifest.json, and replace name and description with the corresponding __MSG_themeName__ and __MSG_themeDescription__ placeholders.

Suggested order

  1. Finish the theme in the creator and confirm the name and description
  2. Export the theme ZIP (includes the 128×128 icon); for multiple languages, add _locales using the structure above and update the corresponding placeholders and default_locale in manifest.json
  3. Prepare screenshots and promo tiles from the table (or use the creator's Export store assets)
  4. Create the listing in the Chrome Web Store dashboard, upload the package and images, and complete the privacy fields
  5. Click Save draft; after it saves and all required fields pass validation, click Submit for review