Export your data¶
Your data belongs to you. The project owner can download the whole project at any time, on every plan, from Project Settings → Export the project. The result is a ZIP archive you can open, read, and reuse anywhere — another CMS, your own database, a spreadsheet.
What the archive contains¶
ekit-export.json everything in one file (see the format below)
csv/<table>.csv one spreadsheet per table (UTF-8)
media/ files and images of your entries
sites/<site id>/ source code of each site: views, layouts, partials, i18n, assets, meta.json
README.txt a short description of the archive
Never included, on purpose: secret values (only their names are listed), API tokens, collaborators and invitations, site version history, AI usage.
Format of ekit-export.json (ekit-export/1)¶
{
"format": "ekit-export/1",
"exportedAt": "2026-10-01T12:00:00.000Z",
"project": {
"id": "6989c6835aa08414bd86a290",
"name": { "en": "My project", "fr": "Mon projet" },
"description": { "en": "…", "fr": "…" },
"website": null,
"langs": ["en", "fr"],
"defaultLang": "en",
"createdAt": "…", "updatedAt": "…"
},
"tables": [
{
"id": "6989c6905aa08414bd86a295",
"slug": "articles",
"name": { "en": "Articles", "fr": "Articles" },
"description": { "en": null, "fr": null },
"createdAt": "…", "updatedAt": "…",
"fields": [
{
"id": "6989d1683c2c69c3e3f80fbc",
"slug": "title",
"type": "text",
"typeId": "5912f7034c3181110079e09e",
"multilingual": true,
"name": { "en": "Title", "fr": "Titre" },
"description": { "en": null, "fr": null },
"order": 1,
"isTitle": true,
"required": false,
"linkedTable": null,
"config": {}
}
],
"entries": [
{
"id": "6989d1703c2c69c3e3f80fc1",
"slug": "hello-world",
"createdAt": "…", "updatedAt": "…",
"values": {
"title": { "en": "Hello world", "fr": "Bonjour le monde" },
"price": 12,
"author": ["696b3f01a32ddc00adc58d41"],
"cover": { "url": "media/6989c6905aa08414bd86a295/1700000000-photo.png", "name": "photo.png" }
}
}
],
"entryCount": 1
}
],
"sites": [
{
"id": "6989c7805aa08414bd86a2c2",
"slug": null,
"name": { "en": "Website", "fr": "Site" },
"domain": null,
"folder": "sites/6989c7805aa08414bd86a2c2/",
"hasFiles": true,
"methods": [ { "id": "…", "name": "Weather", "slug": "weather", "request": { "…": "…" } } ],
"secrets": [ { "name": "WEATHER_KEY", "createdAt": "…", "updatedAt": "…" } ]
}
],
"media": { "folder": "media/" },
"summary": { "tables": 1, "fields": 1, "entries": 1, "sites": 1, "methods": 1 }
}
Values¶
Entry values are keyed by field slug (or field id when a field has no slug).
| Field type | Exported value |
|---|---|
| multilingual field | one value per language: { "en": …, "fr": … } |
text, textarea, richtext (HTML), email, url, color, date, datetime |
string |
number |
number |
checkbox |
boolean (older entries may contain "true" / "false") |
relation |
array of entry ids of the linked table (linkedTable) |
enum |
entry id of the selected option (in linkedTable) |
file |
{ "url": "media/…", "urlThumb": "media/…/thumbs/…" (images only), "name", "type", "kind" ("image", "document" or "media"), "size" } or an array of these |
map |
[latitude, longitude] |
A missing value is null. Ids are the ones used by Ekit: relations and options always point to entries present in the same export (when the linked table belongs to the project).
CSV files¶
One file per table, UTF-8 with BOM (opens correctly in Excel). Columns: id, slug, one column per field — one column per language for multilingual fields (title_en, title_fr) — then createdAt, updatedAt. Relations are listed as comma-separated ids, files as their path in media/. Cells starting with =, +, - or @ are prefixed with ' so that spreadsheets never run them as formulas.
Download a single site¶
To get only the code of one site, open it in the site editor, then the Versions panel:
- Download the site (.zip) (button at the top of the panel, also in the ⋯ menu on small screens) — the current files, in their real folders (
views/,layouts/,partials/,i18n/,assets/,meta.json), plusmethods.jsonwith the site's Methods and the names of its secrets; - the download button of a version — that version of the site, as regular files, without restoring it.
Project members (owner and collaborators) can download sites.
Limits¶
- Owner only (collaborators can still export a table to XLSX from the grid).
- One export at a time per project, and 10 exports per day per owner.
- Large projects are streamed: there is no limit on the number of entries.
Bring an archive back¶
An export archive can be imported into Ekit as a new project, on the same account or another one. See Import a project.