The information stored in a beer recipe.
Recipe is a JSON object with the following properties:
| Property | Required? | Type | Description |
|---|---|---|---|
| name | ✅ | string | |
| type | ✅ | Enum: ∙ cider∙ kombucha∙ soda∙ other∙ mead∙ wine∙ extract∙ partial mash∙ all grain |
|
| author | ✅ | string | |
| batch_size | ✅ | Measurement::Volume | The volume into the fermenter. |
| efficiency | ✅ | object | Stores each efficiency component. |
| efficiency.conversion | Measurement::Percentage | The percentage of sugar from the grain yield that is extracted and converted during the mash. | |
| efficiency.lauter | Measurement::Percentage | The percentage of sugar that makes it from the mash tun to the kettle. | |
| efficiency.mash | Measurement::Percentage | The percentage of sugar that makes it from the grain to the kettle. | |
| efficiency.brewhouse | ✅ | Measurement::Percentage | The percentage of sugar that makes it from the grain to the fermenter. |
| ingredients | ✅ | object | All the recipe’s ingredient additions. Note that these lists are “abbreviated” versions of each ingredient, which saves on repetition when, eg, the same type of hop is added at more then one point. If you are exporting one or more recipes, you should also export the full versions of their ingredients in the same file. |
| ingredients.fermentable_additions | ✅ | array of FermentableRecipeAddition | All the fermentable additions to the recipe |
| ingredients.hop_additions | array of HopRecipeAddition | All the hop additions to the recipe | |
| ingredients.miscellaneous_additions | array of OtherIngredientRecipeAddition | All the miscellaneous item additions to the recipe | |
| ingredients.culture_additions | array of CultureRecipeAddition | All the yeast and/or other culture additions to the recipe | |
| coauthor | string | ||
| created | Measurement::Date | ||
| style | Style::StyleBase | ||
| water_profile_base | Water::WaterBase | Optional parameter to specify the starting profile of the brewing water, which may be modified with salts etc to obtain the target profile. | |
| water_profile_target | Water::WaterBase | Optional parameter to specify the desired profile of the brewing water, which may be modified with salts etc from the base (starting) profile. | |
| mash | Mash | This defines the procedure for performing unique mashing processes. | |
| boil | Boil | Defines the procedure for performing a boil. A boil procedure with no steps is the same as a standard single step boil. | |
| fermentation | Fermentation | FermentationProcedureType defines the procedure for performing fermentation. | |
| notes | string | ||
| original_gravity | Measurement::Density | The gravity of wort when transferred to the fermenter. | |
| final_gravity | Measurement::Density | The gravity of beer at the end of fermentation. | |
| alcohol_by_volume | Measurement::Percentage | ||
| ibu_estimate | Measurement::Bitterness | Estimated bitterness of finished beer. | |
| ibu_estimate_formula | Enum: ∙ Tinseth∙ Rager∙ Noonan∙ mIBU |
Used to differentiate which IBU formula is being used in a recipe. If formula is modified in any way, eg to support whirlpool/flameout additions etc etc, please use Other for transparency. |
|
| color_estimate | Measurement::Color | The color of the finished beer, using SRM or EBC. | |
| beer_pH | Measurement::Acidity | The final beer pH at the end of fermentation. | |
| carbonation | Measurement::Carbonation | The final carbonation of the beer when packaged or served. | |
| apparent_attenuation | Measurement::Percentage | The total apparent attenuation of the finished beer after fermentation. | |
| taste | object | Subjective tasting notes, and rating. | |
| taste.notes | ✅ | string | |
| taste.rating | ✅ | number | |
| calories_per_us_pint | number |
This object fully describes when, and for how long, a recipe addition should be made, with options for basis on time, gravity, or pH at any process step.
AdditionSchedule is a JSON object with the following properties:
| Property | Required? | Type | Description |
|---|---|---|---|
| time | Measurement::Time | What time during a process step is added, eg a value of 2 days for a dry hop addition would be added 2 days into the fermentation step. NOTE that, for use::add_to_boil, this is time before the end of the step (or of the boil if no step is specified). For other values of use, this is time after the start of the step (or of the process if no step is specified). | |
| duration | Measurement::Time | How long an ingredient addition remains, this was referred to as time in the BeerXML standard. Eg A 40 minute hop boil additions means to boil for 40 minutes, and a 2 day duration for a dry hop means to remove it after 2 days. | |
| continuous | boolean | A continuous addition is spread out evenly and added during the entire process step. Eg 60 minute IPA by dogfish head takes all ofthe hop additions and adds them throughout the entire boil. | |
| specific_gravity | Measurement::Density | Used to indicate when an addition is added based on a desired specific gravity. Eg Add dry hop at when SG is 1.018. | |
| pH | Measurement::Acidity | Used to indicate when an addition is added based on a desired specific pH. Eg Add brett when pH is 3.4. | |
| step | integer | Used to indicate what step this ingredient timing addition is referencing. Eg A value of 2 for add_to_fermentation would mean to add during the second fermentation step. | |
| use | Enum: ∙ add_to_mash∙ add_to_boil∙ add_to_fermentation∙ add_to_package |
Differentiates the specific process type when this ingredient addition is used. |
Collects the attributes of each culture ingredient for use in a recipe.
CultureRecipeAddition is a JSON object with all properties from Culture::CultureBase as well as these additional ones:
| Property | Required? | Type | Description |
|---|---|---|---|
| attenuation | Measurement::Percentage | The expected, or measured apparent attenuation for a given culture in a given recipe. In comparison to attenuation range, this is a single value. | |
| times_cultured | integer | ||
| schedule | AdditionSchedule | ||
| cell_count_billions | integer | ||
| amount | Measurement::Count or Measurement::Mass or Measurement::Volume |
Collects the attributes of each fermentable ingredient for use in a recipe fermentable bill.
FermentableRecipeAddition is a JSON object with all properties from Fermentable::FermentableBase as well as these additional ones:
| Property | Required? | Type |
|---|---|---|
| amount | ✅ | Measurement::Mass or Measurement::Volume |
| schedule | AdditionSchedule |
Collects the attributes of each hop ingredient for use in a recipe hop bill.
HopRecipeAddition is a JSON object with all properties from Hop::HopBase as well as these additional ones:
| Property | Required? | Type |
|---|---|---|
| schedule | ✅ | AdditionSchedule |
| amount | ✅ | Measurement::Mass or Measurement::Volume |
Collects the attributes of each miscellaneous ingredient for use in a recipe.
OtherIngredientRecipeAddition is a JSON object with all properties from OtherIngredient::OtherIngredientBase as well as these additional ones:
| Property | Required? | Type |
|---|---|---|
| schedule | AdditionSchedule | |
| amount | Measurement::Count or Measurement::Mass or Measurement::Volume |
Documentation generated from the DotBeer schema on 2026-05-31 at 18:49:39+0200.