Exporting
An export bundles the content you select into a portable .zip package: a manifest.json describing the package, one JSON file per element type, and (optionally) the real asset files. Every reference inside is stored as a UID, so the package isn’t tied to the environment that produced it.
From the Control Panel
Go to Transport → Export and choose:
- Site — which site’s content to export.
- Element types — entries, categories, assets, and so on.
- Section (optional) — narrow an entries export to a single section.
- Include asset files — bundle the actual files, or export metadata only.
- Email me when it finishes — send the completion report to your account’s email address.
Submitting the form queues the export. It runs on Craft’s queue rather than in the request, so a large site can’t hit a request timeout part-way through. When it finishes, download the package from Transport → History — and if you asked to be notified, the completion report lands in your inbox.
From the CLI
Console exports are always synchronous — never queued — and stream their progress to the terminal, finishing with a detailed report of everything exported and skipped. That makes them ideal for scripting and CI pipelines. Choose element types explicitly:
craft transport/export --types=entries,categories,assets --site=default --output=content.zip
Export a single section:
craft transport/export --section=blog --output=blog.zip
Or export everything:
craft transport/export --all --output=everything.zip
Add --verbose to print a line for every element as it is processed, or --quiet to suppress the progress display and print only the closing report:
craft transport/export --all --output=everything.zip --verbose
What’s Inside a Package
manifest.json— package metadata: source site, element counts, and the Transport/Craft versions that produced it.- Per-type element files — one JSON file for each element type, with per-site title, slug, enabled status, and custom field values.
- Bundled assets — the real files, when Include asset files is on.
Because it’s plain JSON, a package is human-readable and version-independent — you can open it, diff it, and commit it.
Schema Is Not Included
Transport exports content, not schema. Sections, fields, entry types, and volumes belong to Craft’s Project Config and should be deployed separately before you import. See Importing for how pre-flight validation checks the target has the schema a package needs.