BeerJSON is a JSON based format for describing beer recipes
Examples
Recipe
We define the units to be used at the top of the recipe file, but they can be overriden by including a unit, within the definition of for example the fermentation section.
{
"title": "Bitter",
"author": "Bob Brewer",
"volume-unit": "l",
"temperature-unit": "C",
"weight-unit": "kg",
"time-unit": "minute",
"duration-unit": "minute",
"mash": {
"start": 0,
"finish": 60,
"profile": [
{
"time": 0,
"temperature": 65,
"addition": [
{
"name": "grain.Marris Otter",
"weight": 6
},
{
"name": "Water",
"volume": 20
}
]
},
{
"time": 40,
"temperature": 67
}
]
},
"boil": [
{
"duration": 60,
"addition": [
{
"name": "hops.Fuggles",
"weight": 0.05
}
]
},
{
"duration": 10,
"addition": [
{
"name": "hops.Cascade",
"weight": 0.025
}
]
}
],
"fermentation": {
"profile": [
{
"time": 0,
"temperature": 18,
"addition": [
{
"name": "yeast.WLP002",
"volume": 0.1
}
]
},
{
"name": "cold crash",
"duration": 3,
"duration-unit": "day",
"temperature": 1
}
]
},
"serve": {
"temperature": 10
}
}
Ingredients file
{
"hops" : [
{
"name" : "Fuggles",
"alpha" : 4.50,
"beta" : 2.00
},
{
"name" : "Cascade",
"alpha" : 5.50,
"beta" : 6.00
}
],
"grain" : [
{
"name" : "Pilsner",
"diastatic" : 60.0,
"srm" : 1.0
},
{
"name" : "Marris Otter",
"diastatic" : 120.0,
"srm" : 3.0
}
],
"yeast" : [
{
"name" : "WLP002",
"lab" : "White Labs",
"min-attenuation" : 63.0,
"max-attenuation" : 70.0,
"min-temperature" : 18.3,
"max-temperature" : 20.0
}
]
}