# Import a theme

> How the theme editor reads a manifest.json, a theme ZIP or a Chrome Web Store CRX into its fields, and what the import summary reports.

Canonical: https://docs.extension.dev/themes/import
This page as Markdown: https://docs.extension.dev/themes/import.md
Section: Themes
Siblings: [Theme builder](https://docs.extension.dev/themes.md) · [The editor](https://docs.extension.dev/themes/editor.md) · [Colors](https://docs.extension.dev/themes/colors.md) · [Presets and palettes](https://docs.extension.dev/themes/presets.md) · [Images and tints](https://docs.extension.dev/themes/images.md) · [Export and install](https://docs.extension.dev/themes/export.md) · [Firefox preview](https://docs.extension.dev/themes/firefox-preview.md) · [Publish and hand off](https://docs.extension.dev/themes/publish.md)
Map of every page: https://docs.extension.dev/llms.txt · Whole corpus: https://docs.extension.dev/llms-full.txt

---

# Import a theme

Import loads an existing Chrome theme into the editor so you can correct it
and export it again. Reach for it when a theme was built elsewhere, or when
you hold a store package and want to see what it paints.

## Quick start

1. Open **Theme settings** in the editor and find the **Import** section.
2. Click **Import theme (.json, .zip, .crx)** and pick the file.
3. The window repaints with the imported colors and the Import summary
   reads "Imported N manifest keys into the editor."


## How it works

**Three file kinds.** The picker accepts `.json`, `.zip` and `.crx`. A
manifest.json brings colors, tints and properties but no images, because
the image files are not in it. A ZIP brings the images too. A CRX is read
in both the version 2 and version 3 header layouts and unpacked as the ZIP
inside it.

**Localized names resolve.** A manifest whose name or description reads
`__MSG_name__` is resolved from the `_locales` folder in the archive, so
the Theme Information fields show the real text.

**The import summary.** After the import a summary states how many
manifest keys were loaded and lists every key that was not fully imported,
each with a reason. Dismiss it with the control beside its title.

**Unknown keys survive.** A key the editor does not edit is kept as it was
and written back on export. That covers keys current Chrome ignores, keys
Chrome renders but the editor has no field for, and keys that are not
Chrome theme keys at all.

**Alpha is dropped.** A four-element color imports without its alpha
channel, because transparency is not modeled in the editor. The summary
names each such key.

## Reference

| File | Reads | Images |
| --- | --- | --- |
| `.json` | Colors, tints, properties, metadata | None, the summary says so |
| `.zip` | Everything the manifest references | Loaded from the archive |
| `.crx` | CRX 2 or CRX 3 header, then the ZIP inside | Loaded from the archive |

| Summary reason | Meaning |
| --- | --- |
| ignored by current Chrome | Kept and re-exported as is |
| rendered by Chrome but not editable here yet | Kept and re-exported as is |
| not a Chrome theme key | Kept and re-exported as is |
| imported without its alpha channel | The color lost its fourth value |
| image slot not editable here yet | Not re-exported |
| referenced image file missing from the archive | The slot stays empty |
| image files are not part of a manifest.json import | Use the ZIP |
| value is not a color this editor can read | The slot kept its current color |

## When it fails

- **"Invalid manifest: missing theme.colors."** The file is not a theme
  manifest. Pick the manifest.json of a theme, not of an extension.
- **"Failed to parse manifest.json."** The JSON does not parse. Fix the
  syntax and import again.
- **"Failed to read the theme archive (ZIP/CRX)."** The archive is
  truncated, or the CRX payload is not a ZIP. Download the file again.
- **The images did not come in.** You imported a bare manifest.json.
  Import the ZIP instead.
- **A color looks different from the original.** Its alpha was dropped, or
  the value was not readable and the slot kept its previous color. The
  summary names the key.

## Next

- [Export and install](/themes/export)
- [Colors](/themes/colors)
- [Images and tints](/themes/images)
- [Import a repository](/guides/import)
