The Recipe Resizer File Format is a proprietary file type (.reciperesizer
extension) used by the Recipe Resizer app for importing and exporting recipes. These files are JSON
-based and designed for easy sharing, syncing, and backup of recipe data within the app.
- File Structure
- Importing
- Exporting
- Why Use This File Format?
- Developer Notes
- Disclaimer
- License
- Credits
The file contains an array of recipe or recipes, each with its own metadata, ingredients, directions, and other relevant information.
{
"recipes" : [
{
"recipe" : {
"name" : "Very Berry Lemon Cake",
"description" : "A zesty lemon cake layered with creamy frosting and loaded with fresh, juicy berries for a bright, flavorful treat.",
"category" : "Dessert",
"system" : "Imperial",
"servings" : {
"to" : 0,
"from" : 8
},
"times" : {
"total" : {
"hours" : 1,
"minutes" : 15
},
"cook" : {
"hours" : 1,
"minutes" : 0
},
"prep" : {
"hours" : 0,
"minutes" : 15
}
},
"source" : {
"author" : "Team Recipe Resizer",
"website" : "https:\/\/reciperesizer.com",
"image" : "",
"video" : "",
"link" : ""
},
"verification" : {
"verifiedID" : "",
"verifiedSignature" : "",
"verified" : false
},
"directions" : [
{
"steps" : [
"1. Preheat oven to 355 Β°F (180 Β°C).",
"2. Line the bottoms of two 9\" cake pans with parchment paper, no butter or oil needed.",
"3. Beat 7 eggs on high speed using the whisk attachment for a minute or two. With the mixer still running, gradually add 1 cup of sugar and continue beating until fluffy and thick, about 10 minutes."
]
}
],
"notes" : [
],
"ingredients" : [
{
"quantity" : "7",
"sequence" : 1,
"measurementUnit" : "Each",
"quantityRange" : "",
"resizedSequence" : 0,
"measurementType" : "Other",
"measurementUnitAbv" : "ech",
"type" : "O",
"name" : "large eggs"
},
{
"quantity" : "2",
"sequence" : 2,
"measurementUnit" : "Cups",
"quantityRange" : "",
"resizedSequence" : 0,
"measurementType" : "Dry",
"measurementUnitAbv" : "cup",
"type" : "O",
"name" : "sugar"
}
// Shortened for brevity
]
}
}
]
}
Note
You can find example .reciperesizer
and .json
files in the repository's examples directory.
Below is a summary of the file structure and field definitions used in the file.
Field Path | Type | Description |
---|---|---|
recipes |
Array | Root array containing one or more recipes. |
recipes[].recipe |
Object | The actual recipe object. |
Field Path | Type | Description |
---|---|---|
recipe.name |
String | Title of the recipe (Required). |
recipe.description |
String | Short description of the recipe. |
recipe.category |
String | Category like "Dessert", "Chicken", etc. |
recipe.system |
String | Measurement system: "Imperial", "Metric", or "Combination" (Required). |
Field Path | Type | Description |
---|---|---|
recipe.servings.from |
Int | From servings (Original Quantity) (Required). |
recipe.servings.to |
Int | To servings (Resized Quantity). |
Field Path | Type | Description |
---|---|---|
recipe.times.total.hours |
Int | Total time (hours). |
recipe.times.total.minutes |
Int | Total time (minutes). |
recipe.times.cook.hours |
Int | Cook time (hours). |
recipe.times.cook.minutes |
Int | Cook time (minutes). |
recipe.times.prep.hours |
Int | Prep time (hours). |
recipe.times.prep.minutes |
Int | Prep time (minutes). |
Field Path | Type | Description |
---|---|---|
recipe.source.author |
String | Author of the recipe. |
recipe.source.website |
String | Name of the website. |
recipe.source.image |
String | Image URL (optional). |
recipe.source.video |
String | Video URL (optional). |
recipe.source.link |
String | Link to original source. |
Note
This section is for Team Recipe Resizer created recipes. It is not used for user-generated recipes.
Field Path | Type | Description |
---|---|---|
recipe.verification.verifiedID |
String | ID of the signer or source. |
recipe.verification.verifiedSignature |
String | Cryptographic signature value. |
recipe.verification.verified |
Boolean | Whether recipe should be checked for verification. |
Field Path | Type | Description |
---|---|---|
recipe.ingredients[] |
Array of Objects | List of ingredients (At least one required). |
recipe.ingredients[].quantity |
String / Double | Quantity (e.g., "1 1/2" or 1.5) (Required). |
recipe.ingredients[].measurementUnit |
String | Full unit name (e.g., "Teaspoon") (Required). |
recipe.ingredients[].measurementUnitAbv |
String | Abbreviated unit (e.g., "tsp") (Required). |
recipe.ingredients[].measurementType |
String | "Dry", "Liquid", or "Other" (Required). |
recipe.ingredients[].name |
String | Name of the ingredient (Required). |
recipe.ingredients[].sequence |
Int | Order in which it appears (Required). |
recipe.ingredients[].type |
String | "O" = "Original", "R" = "Resized" (Required). |
recipe.ingredients[].quantityRange |
Object | Ranged quantity object (Optional). |
recipe.ingredients[].resizedSequence |
Int | Used to order multiple resized quantities and units (Optional). |
Field Path | Type | Description |
---|---|---|
recipe.directions[] |
Array of Objects | Groups of steps. |
recipe.directions[].steps[] |
Array of Strings | List of instructions. |
Field Path | Type | Description |
---|---|---|
recipe.notes[] |
Array of Strings | Freeform notes. |
To import a .reciperesizer
file:
- Open the Recipe Resizer app.
- Tap the plus sign in the upper right hand corner.
- Choose Recipe Resizer File Format.
- Select a
.reciperesizer
file from your device or cloud storage. - The app will parse and display the recipe.
- Review the recipe details and tap the checkmark to save it to your cookbook.
To export a recipe to a .reciperesizer
file:
- Select the recipe you want to export.
- Tap Export.
- Choose Recipe Resizer File Format.
- The file will be saved and ready to share or back up.
- Portable: Encapsulates all recipe details in a single file.
- Verifiable: Optional signature adds integrity and source validation.
- Readable: Based on
JSON
, making it developer- and human-friendly. - Structured: Organized metadata ensures consistent handling across devices.
While the .reciperesizer
format is proprietary, it uses standard JSON
syntax, which makes it easy to read with common parsers.
Warning
Modifying the contents of a verified recipe without recalculating a valid signature may result in the file being treated as unverified or rejected upon import.
The .reciperesizer
format is the intellectual property of Night Owl Labs, LLC. It is designed solely for use with the Recipe Resizer app. Compatibility with third-party applications is not officially supported but can be developed by you if .
The .reciperesizer
format is the intellectual property of Night Owl Labs, LLC. and is designed exclusively for use with the Recipe Resizer app. While compatibility with third-party applications is not officially supported, developers are free to implement their own solutions. Please read our Terms and Conditions for more information.
This project is released under the terms of the MIT License, which permits use, modification, and distribution of the code, subject to the conditions outlined in the license.
- The MIT License provides certain freedoms while preserving rights of attribution to the original creators.
- For more details and to understand all requirements and conditions, see the LICENSE file in this repository.
Author: Scott Grivner
Email: scott.grivner@gmail.com
Website: scottgrivner.dev
Reference: Main Branch