Generate all required icons and promotional tiles for the Chrome Web Store β instantly, in your browser.
π Live Demo Β· π Official Chrome Docs Β· π€ Contributing Β· π Report Bug
Chrome Web Store Assets Generator is a free, open-source, browser-based tool that takes your extension's logo and automatically generates every icon size and promotional tile required by the Chrome Web Store β all in one click, with no server, no upload, no sign-up.
Built with React, TypeScript, Vite, and the HTML5 Canvas API. All processing happens 100% client-side.
- One-click generation β upload your logo once, get all assets instantly
- All official sizes β icons (16Γ16, 32Γ32, 48Γ48, 128Γ128) and promotional tiles (Small, Large, Marquee)
- Customizable banners β set your extension name, subtitle, and pick from gradient palettes
- Adjustable icon padding β fine-tune spacing with a live preview
- Store Preview tab β see how your listing will look on the Chrome Web Store
- Manifest v3 snippet β copy-paste-ready
manifest.jsonicons block - ZIP download β download all assets at once, organised into
icons/andbanners/folders - 100% client-side β nothing leaves your browser; no API key needed for image generation
- Dark/light gradients β multiple palettes to match your brand
The table below lists every image asset the Chrome Web Store can use and whether this tool generates it automatically.
| Asset | Size | Format | Required? | Generated? |
|---|---|---|---|---|
| Extension icon (manifest) | 16Γ16 px | PNG | β Required | β Yes |
| Extension icon (manifest) | 32Γ32 px | PNG | β Required | β Yes |
| Extension icon (extensions page) | 48Γ48 px | PNG | β Required | β Yes |
| Extension icon (store + install) | 128Γ128 px | PNG | β Required | β Yes |
| Small promotional tile | 440Γ280 px | PNG / JPG | β¬ Optional | β Yes |
| Large promotional tile | 920Γ680 px | PNG / JPG | β¬ Optional | β Yes |
| Marquee promotional tile | 1400Γ560 px | PNG / JPG | β¬ Optional | β Yes |
| Screenshots | 1280Γ800 or 640Γ400 px | PNG / JPG | β Required (min 1) | β Not yet |
Note: Screenshots must be manually crafted to showcase your extension's actual UI. All other assets can be generated by this tool.
Source: Chrome Web Store developer documentation
The quickest way to run the tool without cloning the repository. Requires Docker.
docker run -d -p 3000:80 --name assets-generator paladini/chrome-web-store-assets-generator:latestOpen http://localhost:3000 in your browser.
To stop and remove the container:
docker stop assets-generator && docker rm assets-generatorIdeal for self-hosting alongside other services.
Create a docker-compose.yml file:
services:
app:
image: paladini/chrome-web-store-assets-generator:latest
ports:
- "3000:80"
restart: unless-stoppedThen run: docker compose up -d
git clone https://github.com/paladini/chrome-web-store-assets-generator.git
cd chrome-web-store-assets-generator
docker compose up -d --buildOpen http://localhost:3000 in your browser.
Prerequisites: Node.js 18+
# Clone the repository
git clone https://github.com/paladini/chrome-web-store-assets-generator.git
cd chrome-web-store-assets-generator
# Install dependencies
npm install
# Start the development server
npm run devOpen http://localhost:3000 in your browser.
npm run buildThe output will be in the dist/ folder. Serve it with any static file server.
- Upload your logo β drag & drop or click the upload area. Any image format is supported (PNG, SVG, JPG, WebP). Recommended minimum: 512Γ512 px for best results.
- Customise β adjust icon padding, set your extension name and subtitle, and choose a gradient colour palette for the promotional banners.
- Generate β assets are generated automatically as you make changes. Switch between the Icons, Banners, and Store Preview tabs.
- Download β click Download All (.zip) to get a ZIP archive organised into
icons/andbanners/, or download individual files. - Add to your manifest β use the Manifest Snippet to copy the ready-to-use
iconsblock into yourmanifest.json.
| Technology | Role |
|---|---|
| React 19 | UI framework |
| TypeScript | Type safety |
| Vite 6 | Build tool & dev server |
| Tailwind CSS v4 | Styling |
| Lucide React | Icons |
| JSZip | ZIP archive generation |
| Sonner | Toast notifications |
| canvas-confetti | Celebration effect |
| HTML5 Canvas API | Client-side image processing |
Contributions are welcome and appreciated! Please read CONTRIBUTING.md before opening a pull request.
# Fork the repo, create a feature branch
git checkout -b feature/your-feature-name
# Make your changes, then run type-checking
npm run lint
# Open a PR against mainDistributed under the MIT License. See LICENSE for more information.
Fernando Paladini β @paladini
If this project saved you time, consider giving it a β on GitHub!