Open recipe package format
`.recipe` files make recipes portable, inspectable, and app-friendly.
A `.recipe` file is a ZIP package with structured JSON and optional media. The v1 draft is based on the live Do-Re-Ci-Pe import/export format and is being prepared as an open standard for recipe portability.
Read the specification
The v1 draft defines the package layout, JSON fields, versioning rules, conformance language, and examples.
Open specImplement an importer
Start with schema-version.txt, parse manifest.json, then load recipe.json and package-relative assets.
Importer notesGive feedback
The format is intentionally early. Feedback from recipe apps, archiving tools, and data portability projects is welcome.
Open formA small standard for a stubbornly real problem.
Recipes move through families, screenshots, notes apps, PDFs, blogs, subscriptions, and databases. The data is structured enough for software, but personal enough that losing context hurts.
`.recipe` keeps the useful structure without making the file mysterious: one archive, two JSON documents, one schema marker, optional assets.
Recipes are personal data
A recipe collection should remain useful outside the app that created it.
Human inspectable, machine useful
Core data lives in JSON. Images live as ordinary files. A ZIP tool can inspect the whole package.
Cooking details matter
The model keeps timers, why-notes, nutrition, dietary labels, equipment, storage, and provenance alongside ingredients.
Compatibility is explicit
Minor revisions can add fields. Major revisions have a reserved version boundary so readers know when to stop.
Package anatomy
The file extension is for people. The internal structure is for tools. Rename a `.recipe` file to `.zip` and the layout remains ordinary.
example.recipe
|-- schema-version.txt
|-- manifest.json
|-- recipe.json
+-- assets/
|-- recipe-image.jpg
+-- steps/
|-- step-0.jpg
+-- step-1.jpgschema-version.txtInteger compatibility gate. Current value: 1.
manifest.jsonPackage metadata: format version, generator, export date, recipe id, and name.
recipe.jsonStructured recipe payload: ingredients, steps, nutrition, labels, optional details, and image references.
assets/Optional recipe and step images referenced by package-relative paths.
Who this is for
The format is intentionally simple enough for small apps, personal tools, and long-term collections.
For app builders
A clear interchange target for import, export, migration, backup, and cross-app sharing.
For cooks
A recipe file that can be saved, sent, backed up, and opened without turning dinner into platform lock-in.
For archivists
Plain JSON and regular image files make long-term preservation more practical than opaque databases.
Help shape v1 before it hardens.
The best standards earn trust through clear docs, testable examples, predictable versioning, and real implementer feedback. That is the bar for `.recipe`.
Review the draft specSend standards feedback
Share implementation concerns, field suggestions, compatibility questions, or use cases the draft should support.