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, in two forms — a readable
quick-bites.txt, in the plaintext format, plus aquick-bites.json. The.jsonrecords every name and ingredient exactly and is what an import reads; the.txtis the readable copy - Ingredient catalog — your custom ingredients, with aisle assignments, how often each one is checked, whether it’s set to Don’t ask, and the stores each one is placed at — including the aisle you set for it at each store
- Your edits to catalog ingredients — when your kitchen has changed a catalog ingredient’s aisle or store placements, set how often the Pantry checks it, or set it to Don’t ask, 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
4. An older archive, written before therecipes/folder existed, still imports
What’s not included
- Meal-plan and shopping state — menu selections, grocery check-off, pantry, and the record of which recipes have been on the menu 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. - Nutrition figures and unit conversions — an ingredient’s nutrition, its weights for a cup, one item or a named portion, and whether it’s left out of nutrition stay behind, including any your kitchen entered itself. In a new kitchen, an ingredient the built-in catalog knows uses the catalog’s figures. One the catalog doesn’t know has no nutrition there, so recipe lines that use it aren’t counted until it’s added to the catalog. To ask for that, use Report this.
- Derived data — IDs, timestamps, and recomputed nutrition are regenerated on import, so they’re not part of the file.
- Recipe sketches — the drawings on recipe cards stay behind, and so does the setting that draws them. A recipe an import adds arrives without a sketch. If the kitchen you import into has sketches on, Mirepoix draws it one in its once-a-day catch-up.
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 that isn’t a leading cross-reference, a prep note written on a
substitute — 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.
Your QuickBites work the same way. quick-bites.json is what an import reads,
so an edit to quick-bites.txt beside it is skipped. Delete the .json, keep
your edited .txt, and re-zip — the text file is then read as written.
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 October 14, 2026