A theme becomes visible in the Back Office as soon as it is placed on disk in the /themes/ directory with a config/theme.yml file. To be selectable as the active theme, it must pass validation.
In Design > Theme & Logo, click Export current theme in the top right. The ZIP downloads directly in your browser.

php bin/console prestashop:theme:export theme_name
The command prints the path of the generated ZIP on success.
Both methods produce a ZIP file containing:
| Content | Source |
|---|---|
| All files in the theme directory | /themes/theme_name/ |
| Module dependencies | Modules listed under dependencies.modules in theme.yml |
| Theme translations | Files in the theme’s translations/ folder |
See Theme structure for the dependencies and translations configuration.
The export includes everything in the theme directory. Clean up before exporting:
| Exclude | Why |
|---|---|
node_modules/ |
Build dependency, large, not needed at runtime |
.git/ |
Version control history, not relevant for distribution |
Source files (e.g. src/scss/, src/js/) |
Only compiled assets in assets/ are needed at runtime |
IDE and OS files (.idea/, .vscode/, .DS_Store) |
Development artifacts |
Docker and CI files (docker/, .github/) |
Development infrastructure |
AI context files (.claude/, .cursor/, CLAUDE.md) |
Development tooling, not relevant for distribution |
.gitignore and keep your working directory clean. The export command packages the directory as-is, there is no built-in exclude mechanism.Before distributing your theme:
npm run build; adapt to your own build pipeline if using a custom themepreview.png is present and up to date. Required dimensions are 500×746px