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
- Schema
- File Thumbnail
- Why Use This File Format?
- Developer Notes
- Resources
- 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 but are required fields.
| 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 Objects | Groups of steps. |
recipe.notes[] |
Array of Strings | List of 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
.reciperesizerfile 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:
- Hold down 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.
The JSON Schema for the .reciperesizer file format can be found in the schema directory of this repository. This schema defines the structure, required fields, and data types for validating .reciperesizer files.
You can use this online schema validator here and paste the schema file and your .reciperesizer file into it in order to validate that it conforms to the schema.
The schema can also be found embedded in our website at https://reciperesizer.com/schema/current/recipe-resizer-schema.json.
When a .reciperesizer file is saved to an iOS device running Recipe Resizer, the app associates the file extension with the following thumbnail that will appear in the Files app and other file browsers:
- 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 Recipe Resizer File Format is designed for use with the Recipe Resizer app. Developers interested in integrating support for this format into their own applications should refer to the field definitions provided above to ensure compatibility.
An example use case of this file is the Recipe Resizer AI Assistant, which can read and write recipes in this format to facilitate recipe generation and modification. Visit the Recipe Resizer AI Assistant on ChatGPT for more information.
- Recipe Resizer iOS App: https://apps.apple.com/app/id6450848695
- Recipe Resizer App Website: https://reciperesizer.com
- Recipe Resizer Help Center: https://help.reciperesizer.com
- Recipe Resizer Help Center - For Develpers: https://help.reciperesizer.com/b/5DA5195A-C48A-4D93-BBF9-4A4994847EFE/For-Developers
- JSON Schema Validator: https://www.jsonschemavalidator.net/
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: Night Owl Labs, LLC.
Email: support@reciperesizer.com
Website: reciperesizer.com
Reference: Main Branch