Export
Export downloads a copy of the content you authored — recipes, photos, settings, your catalog, and your store layout — packaged into one ZIP file you can re-import elsewhere.
Your recipes come back exactly as they left: every detail of a recipe survives the trip out and back, including shapes the plain-text form can’t spell. What the ZIP doesn’t carry is everything around them — see what’s not included — so it’s a portable archive, not a disaster-recovery backup. A full backup of a self-hosted install means backing up the database and storage volume directly; that’s the server operator’s job, not this download.
How to export
Tap mirepoix in the navigation bar, then choose
Kitchen Settings. Under Data,
click Export All Data (available to every kitchen member) and confirm the
prompt. Your browser downloads a .zip file immediately.
What’s included
- All recipes, in two forms — a readable
.mdfile per recipe, in the recipe format, plus a.jsonfile per recipe in arecipes/folder. The.jsonrecords the recipe exactly and is what an import reads; the.mdis the readable copy - Recipe photos — one image per photographed recipe, in an
images/folder - QuickBites — all quick bite definitions
- Ingredient catalog — your custom ingredients, with nutrition data, aisle assignments, how often each one is checked, unit aliases, and the stores each one is placed at — including the aisle you set for it at each store
- Your edits to catalog ingredients — when you change a catalog ingredient in the nutrition editor (a custom aisle, store placements, or corrected nutrition), or set how often the Pantry checks it, that edit travels too. On import, each edit re-attaches to the matching catalog ingredient on the new install. If the destination’s catalog doesn’t have that ingredient, the edit is skipped and noted in the import summary — never guessed at
- Kitchen settings — your site title and the show-nutrition toggle
- Store list — the stores you’ve set up, in order
- Aisle and category ordering — your custom sort orders
- Archive manifest — a small file recording the export format version,
which is now
2. An older archive, written before therecipes/folder existed, still imports
What’s not included
- Meal-plan and cooking state — menu selections, grocery check-off, pantry, and cook history are not carried.
- User accounts and memberships — sign-in state and kitchen memberships stay where they are.
- Whether the kitchen is published, and its name — these are left out on purpose, so importing never publishes a kitchen or overwrites its name.
- API keys — these are environment variables set at the deployment level,
not stored in the database. Configure them in your
docker-compose.ymlor.envon the new install. - Derived data — IDs, timestamps, and recomputed nutrition are regenerated on import, so they’re not part of the file.
When you import, kitchen settings only fill in a destination kitchen that’s still using the defaults. If you’ve already customized a setting there, your value is kept — the import never overwrites it.
Using the export
The ZIP is re-importable on any Mirepoix installation. Use it for:
- Migration — move a kitchen to a new server or installation, settings and store layout included
- Reading offline — the
.mdfiles are plain text and open in any text editor - Editing offline — possible, with one extra step, described next
Edit a recipe offline
For each recipe, an import reads the file in the recipes/ folder in
preference to the .md. So editing a .md and re-importing the ZIP as-is does
nothing: the .json is read instead and your edit is skipped, with nothing to
tell you. Change the # Title line and it’s worse — the edited file no longer
matches its .json, so both are read and you end up with two copies of the
recipe.
To bring a hand-edited .md in:
- Edit the
.md, keeping it in the recipe format. - Delete that recipe’s file from the
recipes/folder — it’s named for the recipe’s web address, not its title. - Re-zip the folder and import it.
With no .json beside it, the .md is read as written. Delete only the ones
you edited: each recipe is decided on its own.
One thing to know before you edit: the .md is a rendering, not the full
record. A handful of shapes the text format can’t spell — a step that mixes a
cross-reference with its own
ingredients, two cross-references in one step, an untitled step alongside
titled ones — come back changed, or fail that file’s import outright. The
.json is the copy that carries them. Where a recipe uses one of those shapes,
edit it in the app instead.
See also
- Import & Export — the overview of getting recipes in and out of Mirepoix
- Import a recipe with AI — bring a recipe in from a website, photo, or pasted text
Last updated August 29, 2026