---
title: "Import and export Shopware categories: the whole tree via CSV"
description: "Import and export Shopware categories: the whole category tree via CSV with path, texts in all languages and custom fields, with preview and JSON backup."
url: https://pim-shopware.de/en/import-shopware-categories.html
language: en
---
# Import and export Shopware categories: the whole tree via CSV
A new category tree for the season, category texts from the agency or the move from an old shop: creating categories one by one takes hours. In the PIM you export and import the whole tree of a sales channel as a spreadsheet.
4 min read For Shopware 6.6 and 6.7
- Whole tree as CSV: export and import per sales channel, with path, type, status, layout and texts.
- All languages in one file: one column per language for each translatable field, such as name.de-DE and name.en-GB.
- Missing categories are created, existing ones with the same path and name are updated.
- Safety net: preview and validation before the import, plus a JSON backup of the whole tree.

## How the file is structured
The file uses semicolon as separator and UTF-8, so Excel shows special characters correctly. The position in the tree comes from the parentPath column, levels are separated by">":
parentPath;name;type;active;visibleInNav;description;Garden;page;1;1;Everything for the garden Garden;Grills;page;1;1;Gas, charcoal and electric grills Garden > Grills;Accessories;page;1;1;Covers, tongs and grates
| Column | Content |
| parentPath | path of the parent category, empty for the top level |
| name | category name, required |
| type | page , folder or link |
| active , visibleInNav | active and visible in navigation |
| externalLink , cmsPage | link for type link, layout by name |
| description , metaTitle , metaDescription , keywords | texts of the main language |
| name.en-GB and more | texts per language |
| cf.<fieldname> | custom fields of the category |

## How the import runs
- Open category management and choose the sales channel.
- Back up first:"Save tree as JSON" stores the complete tree with all languages, custom fields and IDs.
- Import/export, choose file: the PIM checks name, type and parent category and shows errors with the row number.
- Import: missing categories are created, existing ones with the same path and name are updated.
If something goes wrong, you import the JSON backup again. You then assign products in bulk editing or via product CSV with the categories column.

## Example: a new category tree for the season
- Save the tree as JSON.
- Export and add new rows for the seasonal categories in Excel, with parentPath such as"Garden > Season".
- Texts per language in the columns description.de-DE and description.en-GB, or generate them later with AI.
- Import, then assign products via a dynamic product group or bulk editing.

## Frequently asked questions

**Can Shopware import categories via CSV?**
Via the built-in import/export with a profile, using IDs there. In the PIM the path as text is enough, for example Garden > Grills, and all languages are in one file.

**Are existing categories created twice?**
No. Categories with the same path and name are updated, only missing ones are created.

**How do I import category texts in several languages?**
With columns per field and language, such as name.en-GB or description.fr-FR.

**How do I back up the category tree before restructuring?**
With"Save tree as JSON". The backup contains all languages, custom fields and IDs and can be imported again.

**Are layouts assigned during import?**
Yes, via the cmsPage column with the layout's name.

**Which separator does the file use?**
Semicolon, saved as UTF-8 so Excel shows special characters correctly.

## Further reading
- Manage Shopware categories: the whole tree in one window
- Shopware category texts and category SEO: texts with AI, in every language
- Change a Shopware category URL: with 301 redirect
- Category management: guide: all features
