BeerXML
An XML Standard
for Beer Brewing Data
Version 1.0
Created by:
Brad Smith –
“BeerSmith”
Drew Avis –
“Strangebrew”
Michael Taylor –
“SUDS”
Andrew Perron –
“DrewBrew”
David Johnson – “QBrew”
The primary purpose for the standard is the exchange of recipes, but it could also be used for the exchange of other brewing data. For example a table of hops could be exported as a series of XML hop records in a single file.
The optional appendix adds tags for use in the display of brewing data using XML style sheets or XML compatible report generators. As the tags in the appendix are for display only and may include rounded values. We do not recommend relying on any of these tags for data import.
Brewing data will follow the XML standard as a basis. To be compliant the program must be able to import or export the required tags, recognize the data formats and units, and follow basic XML conventions. In addition the program may support optional tags that have “No” in the Required column.
For simplicity, the convention of using a separate tag for each data entry as in the following will be used:
<HOP>
<NAME>Cascade</NAME>
</HOP>
Though equivalent, the following XML format (i.e. XML Attributes) should NOT be used.
<HOP NAME="Cascade"> </HOP>
Each new tag will be put on a separate line, with the start and end of the tag surrounding the data. Tags starting and ending a record will be placed on their own line (see examples).
The file extension “.xml” should be used for all BeerXML files. For example, a recipe file might be named “recipes.xml”.
Comments may be embedded per the XML standard, but all comments shall be ignored by importing programs.
Sample XML comment
<!-- This is a comment line in the XML format -->
The exporting and importing programs should recognize and translate the normal XML special character codes if they appear in any of the data strings. These include:
Character |
XML
Code |
& |
& |
< |
< |
> |
> |
“ |
" |
‘ |
' |
Per the XML standard, all files should begin with the following header line as the first line. After the XML header a record set should start (for example <RECIPES>…</RECIPES> or <HOPS> … </HOPS>).
Required XML Header
Example with Recipes tag:
<?xml version="1.0"
encoding="ISO-8859-1"?>
<RECIPES>
…
</RECIPES>
Tag names will be uppercase. For example "HOP" is acceptable, but "hop" and Hop" are not.
All records have a required <VERSION> tag that denotes the version of the XML standard. All should be set to the integer 1 for this version of the standard. It is our intent that future versions of the standard will be backward compatible with the older versions, but the VERSION tag allows newer programs to check for a higher version of the standard or do conversions if required to be backward compatible.
Per the XML standard, all non-standard tags will be ignored by the importing program. This allows programs to store additional information if desired using their own tags. Any tags not defined as part of this standard may safely be ignored by the importing program.
- Record Set – A special tag that starts a particular set of data. For example an XML table that consists of a set of hops records might start with a <HOPS> tag to denote that this is the start of hops records. After the last record, a </HOPS> tag would be used.
- Record - Denotes a tag that starts or ends a particular record -- for example "HOP" might start a hops record or "FERMENTABLE" might start a fermentable record.
- Percentage - Denotes a percentage - all percentages are expressed as percent out of 100- for example 10.4% is written as "10.4" and not "0.104"
- List - The data has only a fixed number of values that are selected from the list in the description table for the tag. These items are case sensitive, and no other values are allowed.
- Text - The data is free format text. For multiline entries, line breaks will be preserved where possible and the text may be truncated on import if the text is too long for the importing program to store. Multiline entries may be split with either a newline (Unix format) or a carriage return – newline combination (DOS format). Importing programs should accept either.
- Boolean - May be either TRUE or FALSE, with TRUE and FALSE in capitals. A default value should be specified for optional fields - the default is used if the value is not present.
- Integer - An integer number with no decimal point. May include negative values - examples include ...-3, -2, -1, 0, 1, 2, 3,...
- Floating Point - A floating point number, usually expressed in its simplest form with a decimal point as in "1.2", "0.004", etc... Programs shall endeavor to store as many significant digits as possible to avoid truncating or losing small values.
For this portion of the standard ALL units must be fixed. It is the responsibility of the importing or exporting program to convert to and from the units below if needed.
All weights will be measured in Kilograms (kg). For small values the exporting program will make an effort to preserve as many significant digits as possible.
All volumes will be measured in Liters (l). For small values the exporting program will make an effort to preserve as many significant digits as possible.
All temperatures will be measured in degrees Celsius.
All times will be in minutes or fractions thereof – unless otherwise specified in the tag description.
Specific Gravity
will be measured relative to the weight of the same size sample of water. For
example “1.035”, “1.060”, etc…
Pressures will be measured in kilopascals (kPa)
The following special tags are used to denote a set of records. This allows more than one record of a single type to be embedded within a recipe, and also allows separate XML tables to be exported and imported. For example a standalone collection of hops records might be exported as a “HOPS” table by starting the table with <HOPS>, continuing with a number of hops records and ending the table with </HOPS>
In a recipe, these record set identifiers are also used to separate records of different types. For example, all HOP records used in a recipe will be enclosed between <HOPS>…</HOPS> identifiers.
Data tag |
Format |
Description |
HOPS |
Record Set |
Encloses a set of one or more Hop records. |
FERMENTABLES |
Record Set |
Encloses a set of one or more Fermentable records. |
YEASTS |
Record Set |
Encloses a set of one or more Yeast records. |
MISCS |
Record Set |
Encloses a set of one or more Misc records |
WATERS |
Record Set |
Encloses a set of one or more Water records |
STYLES |
Record Set |
Encloses a set of one or more Beer Styles |
MASH_STEPS |
Record Set |
Used within a MASH profile to record the steps |
MASHS |
Record Set |
Used for a set of one or more mash profiles |
RECIPES |
Record Set |
Encloses one or more recipe records. |
EQUIPMENTS |
Record Set |
Set of one or more equipment records. |
Example: A set of 2
hops
<HOPS>
<HOP>
<!-- hop 1 fields here -->
</HOP>
<HOP>
<!-- hop 2 fields here -->
</HOP>
</HOPS>
The “HOP” identifier is used to define all varieties of hops.
Data tag |
Required |
Format |
Description |
HOP |
Yes |
Record |
Starts a hops ingredient record -- any of the below tags may be included in any order within the <HOP>….</HOP> record tags. Any non-standard tags in the hops will be ignored. |
NAME |
Yes |
Text |
Name of the hops |
VERSION |
Yes |
Integer |
Should be set to 1 for this version of the XML standard. May be a higher number for later versions but all later versions shall be backward compatible. |
ALPHA |
Yes |
Percentage |
Percent alpha of hops - for example "5.5" represents 5.5% alpha |
AMOUNT |
Yes |
Weight (kg) |
Weight in Kilograms of the hops used in the recipe. |
USE |
Yes |
List |
May be "Boil", "Dry Hop", "Mash", "First Wort" or "Aroma". Note that "Aroma" and "Dry Hop" do not contribute to the bitterness of the beer while the others do. Aroma hops are added after the boil and do not contribute substantially to beer bitterness. |
TIME |
Yes |
Time (min) |
The time as measured in minutes. Meaning is dependent on the “USE” field. For “Boil” this is the boil time. For “Mash” this is the mash time. For “First Wort” this is the boil time. For “Aroma” this is the steep time. For “Dry Hop” this is the amount of time to dry hop. |
NOTES |
No |
Text |
Textual notes about the hops, usage, substitutes. May be a multiline entry. |
TYPE |
No |
List |
May be "Bittering", "Aroma" or "Both" |
FORM |
No |
List |
May be "Pellet", "Plug" or "Leaf" |
BETA |
No |
Percentage |
Hop beta percentage - for example "4.4" denotes 4.4 % beta |
HSI |
No |
Percentage |
Hop Stability Index - defined as the percentage of hop alpha lost in 6 months of storage |
ORIGIN |
No |
Text |
Place of origin for the hops |
SUBSTITUTES |
No |
Text |
Substitutes that can be used for this hops |
HUMULENE |
No |
Percent |
Humulene level in percent. |
CARYOPHYLLENE |
No |
Percent |
Caryophyllene level in percent. |
COHUMULONE |
No |
Percent |
Cohumulone level in percent |
MYRCENE |
No |
Percent |
Myrcene level in percent |
Example with required fields only:
<HOP>
<NAME>Cascade</NAME>
<VERSION>1</VERSION>
<ALPHA>5.0</ALPHA>
<AMOUNT>0.100</AMOUNT>
<USE>Boil</USE>
<TIME>60</TIME>
</HOP>
Example dry hop for three days:
<HOP>
<NAME>Fuggles</NAME>
<VERSION>1</VERSION>
<ALPHA>4.5</ALPHA>
<AMOUNT>0.250</AMOUNT>
<USE>Dry Hop</USE>
<TIME>10080.0</TIME>
</HOP>
Example Mash Hops with All Fields - in shuffled order
(acceptable):
<HOP>
<AMOUNT>0.050</AMOUNT>
<VERSION>1</VERSION>
<USE>Mash</USE>
<ALPHA>4.5</ALPHA>
<NOTES> This hop is a really cool hops - you can use it for anything.
It leaps over buildings in a single bound, is faster than
a speeding bullet and makes really bitter beer.
</NOTES>
<TIME>45.0</TIME>
<BETA>5.5 </BETA>
<NAME>Super Hops</NAME>
<ORIGIN>Planet Krypton</ORIGIN>
<SUBSTITUTES>Goldings, Fuggles, Super Alpha</SUBSTITUTES>
<MYRCENE>24.4</MYRCENE>
<HSI>30</HSI>
<FORM>Leaf</FORM>
<TYPE>Bittering</TYPE>
<COHUMULONE>13.2</COHUMULONE>
</HOP>
The term "fermentable" encompasses all fermentable items that contribute substantially to the beer including extracts, grains, sugars, honey, fruits.
Data tag |
Required |
Format |
Description |
FERMENTABLE |
Yes |
Record |
Starts a fermentable ingredient record -- any of the below tags may be included in any order within the <FERMENTABLE>…. </FERMENTABLE> record tags. Any non-standard tags in the fermentable will be ignored. |
NAME |
Yes |
Text |
Name of the fermentable. |
VERSION |
Yes |
Integer |
Should be set to 1 for this version of the XML standard. May be a higher number for later versions but all later versions shall be backward compatible. |
TYPE |
Yes |
List |
May be "Grain", "Sugar", "Extract", "Dry Extract" or "Adjunct". Extract refers to liquid extract. |
AMOUNT |
Yes |
Weight (kg) |
Weight of the fermentable, extract or sugar in Kilograms. |
YIELD |
Yes |
Percent |
Percent dry yield (fine grain) for the grain, or the raw yield by weight if this is an extract adjunct or sugar. |
COLOR |
Yes |
Floating Point |
The color of the item in Lovibond Units (SRM for liquid extracts). |
ADD_AFTER_BOIL |
No |
Boolean |
May be TRUE if this item is normally added after the boil. The default value is FALSE since most grains are added during the mash or boil. |
ORIGIN |
No |
Text |
Country or place of origin |
SUPPLIER |
No |
Text |
Supplier of the grain/extract/sugar |
NOTES |
No |
Text |
Textual noted describing this ingredient and its use. May be multiline. |
COARSE_FINE_DIFF |
No |
Percent |
Percent difference between the coarse grain yield and fine grain yield. Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored. |
MOISTURE |
No |
Percent |
Percent moisture in the grain. Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored. |
DIASTATIC_POWER |
No |
Floating Point |
The diastatic power of the grain as measured in "Lintner" units. Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored. |
PROTEIN |
No |
Percent |
The percent protein in the grain. Only appropriate for a "Grain" or "Adjunct" type, otherwise this value is ignored. |
MAX_IN_BATCH |
No |
Percent |
The recommended maximum percentage (by weight) this ingredient should represent in a batch of beer. |
RECOMMEND_MASH |
No |
Boolean |
TRUE if it is recommended the grain be mashed, FALSE if it can be steeped. A value of TRUE is only appropriate for a "Grain" or "Adjunct" types. The default value is FALSE. Note that this does NOT indicate whether the grain is mashed or not – it is only a recommendation used in recipe formulation. |
IBU_GAL_PER_LB |
No |
Floating Point |
For hopped extracts only - an estimate of the number of IBUs per pound of extract in a gallon of water. To convert to IBUs we multiply this number by the "AMOUNT" field (in pounds) and divide by the number of gallons in the batch. Based on a sixty minute boil. Only suitable for use with an "Extract" type, otherwise this value is ignored. |
Example Fermentable Record with required fields only:
<FERMENTABLE>
<NAME>Pale 2-row Malt</NAME>]
<VERSION>1</VERSION>
<AMOUNT>5.0</AMOUNT>
<TYPE>Grain</TYPE>
<YIELD>73.4</YIELD>
<COLOR>3.0</COLOR>
</FERMENTABLE>
Example Hopped Extract:
<FERMENTABLE>
<NAME>Fustons Hopped Amber</NAME>
<VERSION>1</VERSION>
<AMOUNT>0.50</AMOUNT>
<NOTES>Hopped amber extract suitable as a base for english ales.
</NOTES>
<YIELD>78.0</YIELD>
<TYPE>Extract</TYPE>
<COLOR>13</COLOR>
<IBU_GAL_PER_POUND>16.6</IBU_GAL_PER_POUND>
</FERMENTABLE>
Sample Crystal Malt Specialty Grain with all applicable
fields:
<FERMENTABLE>
<NAME>Crystal 40 L</NAME>
<VERSION>1</VERSION>
<AMOUNT>0.50</AMOUNT>
<TYPE>Grain</TYPE>
<YIELD>74.0</YIELD>
<COLOR>40.0</COLOR>
<ORIGIN>
<SUPPLIER>Fussybrewer Malting</SUPPLIER>
<NOTES>Darker crystal malt.
Adds body and improves head retention.
Also called caramel malt.
</NOTES>
<COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
<MOISTURE>4.0</MOISTURE>
<DIASTATIC_POWER>0.0</DISASTATIC_POWER>
<PROTEIN>13.2</PROTEIN>
<MAX_IN_BATCH>10.0</MAX_IN_BATCH>
<RECOMMEND_MASH>FALSE</RECOMMEND_MASH>
</FERMENTABLE>
The term "yeast" encompasses all yeasts, including dry yeast, liquid yeast and yeast starters.
Data tag |
Required |
Format |
Description |
YEAST |
Yes |
Record |
Starts a yeast ingredient record -- any of the below tags may be included in any order within the <YEAST>…. </YEAST> record tags. Any non-standard tags in the yeast will be ignored. |
NAME |
Yes |
Text |
Name of the yeast. |
VERSION |
Yes |
Integer |
Version of the standard. Should be “1” for this version. |
TYPE |
Yes |
List |
May be “Ale”, “Lager”, “Wheat”, “Wine” or “ |
FORM |
Yes |
List |
May be “Liquid”, “Dry”, “Slant” or “Culture” |
AMOUNT |
Yes |
Volume (liters) or Weight (kg) |
The amount of yeast, measured in liters. For a starter this is the size of the starter. If the flag AMOUNT_IS_WEIGHT is set to TRUE then this measurement is in kilograms and not liters. |
AMOUNT_IS_WEIGHT |
No |
Boolean |
TRUE if the amount measurement is a weight measurement and FALSE if the amount is a volume measurement. Default value (if not present) is assumed to be FALSE – therefore the yeast measurement is a liquid amount by default. |
LABORATORY |
No |
Text |
The name of the laboratory that produced the yeast. |
PRODUCT_ID |
No |
Text |
The manufacturer’s product ID label or number that identifies this particular strain of yeast. |
MIN_TEMPERATURE |
No |
Temperature (C) |
The minimum recommended temperature for fermenting this yeast strain in degrees Celsius. |
MAX_TEMPERATURE |
No |
Temperature (C) |
The maximum recommended temperature for fermenting this yeast strain in Celsius. |
FLOCCULATION |
No |
List |
May be “Low”, “Medium”, “High” or “Very High” |
ATTENUATION |
No |
Percent |
Average attenuation for this yeast strain. |
NOTES |
No |
Text |
Notes on this yeast strain. May be a multiline entry. |
BEST_FOR |
No |
Text |
Styles or types of beer this yeast strain is best suited for. |
TIMES_CULTURED |
No |
Integer |
Number of times this yeast has been reused as a harvested culture. This number should be zero if this is a product directly from the manufacturer. |
MAX_REUSE |
No |
Integer |
Recommended of times this yeast can be reused (recultured from a previous batch) |
ADD_TO_SECONDARY |
No |
Boolean |
Flag denoting that this yeast was added for a secondary (or later) fermentation as opposed to the primary fermentation. Useful if one uses two or more yeast strains for a single brew (eg: Lambic). Default value is FALSE. |
Example: Yeast with
required fields only
<YEAST>
<NAME>Ole English Ale Yeast</NAME>
<VERSION>1</VERSION>
<TYPE>Ale</TYPE>
<FORM>Liquid</FORM>
<AMOUNT>0.100</AMOUNT>
</YEAST>
Example: Yeast with
more popular fields
<YEAST>
<NAME>German Ale</NAME>
<TYPE>Ale</TYPE>
<VERSION>1</VERSION>
<FORM>Liquid</FORM>
<AMOUNT>0.250</AMOUNT>
<LABORATORY>Wyeast Labs</LABORATORY>
<PRODUCT_ID>1007</PRODUCT_ID>
<MIN_TEMPERATURE>12.8</MIN_TEMPERATURE>
<MAX_TEMPERATURE>20.0</MAX_TEMPERATURE>
<ATTENUATION>75.0</ATTENUATION>
<NOTES>Crisp dry flavor with a hint of mild flavor.
Great for many continental ales.
</NOTES>
<BEST_FOR>German Ales, Alts, Kolsch, Dry Stouts </BEST_FOR>
<FLOCCULATION>Low</FLOCCULATION>
</YEAST>
The term "misc" encompasses all non-fermentable miscellaneous ingredients that are not hops or yeast and do not significantly change the gravity of the beer. For example: spices, clarifying agents, water treatments, etc…
Data tag |
Required |
Format |
Description |
MISC |
Yes |
Record |
Starts a misc ingredient record -- any of the below tags may be included in any order within the <MISC>…. </MISC> record tags. Any non-standard tags in the misc will be ignored. |
NAME |
Yes |
Text |
Name of the misc item. |
VERSION |
Yes |
Integer |
Version number of this element. Should be “1” for this version. |
TYPE |
Yes |
List |
May be “Spice”, “Fining”, “Water Agent”, “Herb”, “Flavor” or “Other” |
USE |
Yes |
List |
May be “Boil”, “Mash”, “Primary”, “Secondary”, “Bottling” |
TIME |
Yes |
Time (min) |
Amount of time the misc was boiled, steeped, mashed, etc in minutes. |
AMOUNT |
Yes |
Volume (l) or Weight (kg) |
Amount of item used. The default measurements are by weight, but this may be the measurement in volume units if AMOUNT_IS_WEIGHT is set to TRUE for this record. If a liquid it is in liters, if a solid the weight is measured in kilograms. |
AMOUNT_IS_WEIGHT |
No |
Boolean |
TRUE if the amount measurement is a weight measurement and FALSE if the amount is a volume measurement. Default value (if not present) is assumed to be FALSE. |
USE_FOR |
No |
Text |
Short description of what the ingredient is used for in text |
NOTES |
No |
Text |
Detailed notes on the item including usage. May be multiline. |
Example: Irish Moss misc
with minimal fields
<MISC>
<NAME>Irish Moss</NAME>
<VERSION>1</VERSION>
<TYPE>Fining</TYPE>
<USE>Boil</USE>
<TIME>15.0</TIME>
<AMOUNT>0.010</AMOUNT>
</MISC>
Example: Coriander
Spice with a typical set of fields
<MISC>
<NAME>Coriander</NAME>
<TYPE>Spice</TYPE>
<VERSION>1</VERSION>
<USE>Boil</USE>
<TIME>5.0</TIME>
<AMOUNT>0.025</AMOUNT>
<USE_FOR>Belgian Wit Spice</USE_FOR>
<NOTES>Used in
Belgian Wit, Whites, and
</NOTES>
</MISC>
The term "water" encompasses water profiles. Though not strictly required for recipes, the water record allows supporting programs to record the water profile used for brewing a particular batch.
Data tag |
Required |
Format |
Description |
WATER |
Yes |
Record |
Starts a WATER ingredient record -- any of the below tags may be included in any order within the <WATER>…. </WATER> record tags. Any non-standard tags in the water will be ignored. |
NAME |
Yes |
Text |
Name of the water profile – usually the city and country of the water profile. |
VERSION |
Yes |
Integer |
Version of the water record. Should always be “1” for this version of the XML standard. |
AMOUNT |
Yes |
Volume (liters) |
Volume of water to use in a recipe in liters. |
CALCIUM |
Yes |
Floating Point |
The amount of calcium (Ca) in parts per million. |
BICARBONATE |
Yes |
Floating Point |
The amount of bicarbonate (HCO3) in parts per million. |
SULFATE |
Yes |
Floating Point |
The amount of Sulfate (SO4) in parts per million. |
CHLORIDE |
Yes |
Floating Point |
The amount of Chloride (Cl) in parts per million. |
SODIUM |
Yes |
Floating Point |
The amount of Sodium (Na) in parts per million. |
MAGNESIUM |
Yes |
Floating Point |
The amount of Magnesium (Mg) in parts per million. |
PH |
No |
Floating Point |
The PH of the water. |
NOTES |
No |
Text |
Notes about the water profile. May be multiline. |
Example: A Sample
Water Profile
<WATER>
<NAME>
<VERSION>1</VERSION>
<AMOUNT>20.0</AMOUNT>
<CALCIUM>295.0</CALCIUM>
<MAGNESIUM>45.0</MAGNESIUM>
<SODIUM>55.0</SODIUM>
<SULFATE>725.0</SULFATE>
<CHLORIDE>25.0</CHLORIDE>
<BICARBONATE>300.0</BICARBONATE>
<PH>8.0</PH>
<NOTES>
Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale
</NOTES>
</WATER>
Though an equipment record is optional, when used it in a recipe or on its own it provides details needed to calculate total water usage as well as water needed for each step. It also contains information about the thermal parameters of the mash tun and large batch hop utilization factors.
Data tag |
Required |
Format |
Description |
EQUIPMENT |
Yes |
Record |
Starts a EQUIPMENT record -- any of the below tags may be included in any order within the <EQUIPMENT>…. </EQUIPMENT> record tags. Any non-standard tags in the equipment will be ignored. |
NAME |
Yes |
Text |
Name of the equipment profile – usually a text description of the brewing setup. |
VERSION |
Yes |
Integer |
Version of the equipment record. Should always be “1” for this version of the XML standard. |
BOIL_SIZE |
Yes |
Volume (liters) |
The pre-boil volume used in this particular instance for this equipment setup. Note that this may be a calculated value depending on the CALC_BOIL_VOLUME parameter. |
BATCH_SIZE |
Yes |
Volume (liters) |
The target volume of the batch at the start of fermentation. |
TUN_VOLUME |
No |
Volume (liters) |
Volume of the mash tun in liters. This parameter can be used to calculate if a particular mash and grain profile will fit in the mash tun. It may also be used for thermal calculations in the case of a partially full mash tun. |
TUN_WEIGHT |
No |
Weight (kg) |
Weight of the mash tun in kilograms. Used primarily to calculate the thermal parameters of the mash tun – in conjunction with the volume and specific heat. |
TUN_SPECIFIC_HEAT |
No |
Cal/gram-deg C |
The specific heat of the mash tun which is usually a function of the material it is made of. Typical ranges are 0.1-0.25 for metal and 0.2-0.5 for plastic materials. |
TOP_UP_WATER |
No |
Volume (liters) |
The amount of top up water normally added just prior to starting fermentation. Usually used for extract brewing. |
TRUB_CHILLER_LOSS |
No |
Volume (liters) |
The amount of wort normally lost during transition from the boiler to the fermentation vessel. Includes both unusable wort due to trub and wort lost to the chiller and transfer systems. |
EVAP_RATE |
No |
Percent per hour |
The percentage of wort lost to evaporation per hour of the boil. |
BOIL_TIME |
No |
Normal boil time |
The normal amount of time one boils for this equipment setup. This can be used with the evaporation rate to calculate the evaporation loss. |
CALC_BOIL_VOLUME |
No |
Boolean |
Flag denoting that the program should calculate the boil size. Flag may be TRUE or FALSE. If TRUE, then BOIL_SIZE = (BATCH_SIZE – TOP_UP_WATER – TRUB_CHILLER_LOSS) * (1+BOIL_TIME * EVAP_RATE ) If set then the boil size should match this value. |
LAUTER_DEADSPACE |
No |
Volume (liters) |
Amount lost to the lauter tun and equipment associated with the lautering process. |
TOP_UP_KETTLE |
No |
Volume (liters) |
Amount normally added to the boil kettle before the boil. |
HOP_UTILIZATION |
No |
Percent |
Large batch hop utilization. This value should be 100% for batches less than 20 gallons, but may be higher (200% or more) for very large batch equipment. |
NOTES |
No |
Text |
Notes associated with the equipment. May be a multiline entry. |
Example:
<EQUIPMENT>
<NAME>8 Gal pot with 5 gal Igloo Cooler</NAME>
<VERSION>1</VERSION>
<TUN_VOLUME>18.93</MASH_TUN_VOLUME>
<TUN_WEIGHT>2.0</MASH_TUN_WEIGHT>
<TUN_SPECIFIC_HEAT>0.3</TUN_SPECIFIC_HEAT>
<BATCH_SIZE>18.93</BATCH_SIZE>
<BOIL_SIZE>22.71</BOIL_SIZE>
<TOP_UP_WATER>0.0</TOP_UP_WATER>
<TRUB_CHILLER_LOSS>0.95</TRUB_CHILLER_LOSS>
<EVAP_RATE>9.0</EVAP_RATE>
<BOIL_TIME>60.0</BOIL_TIME>
<CALC_BOIL_VOLUME>TRUE</CALC_BOIL_VOLUME>
<LAUTER_DEADSPACE>0.95</LAUTER_DEADSPACE>
<TOP_UP_KETTLE>0.0</TOP_UP_KETTLE>
<HOP_UTILIZATION>100.0</HOP_UTILIZATION>
<NOTES>Popular all grain setup. 5 Gallon Gott or Igloo cooler as mash tun with false bottom, and 7-9 gallon brewpot capable of boiling at least 6 gallons of wort. Primarily used for single infusion mashes.</NOTES>
</EQUIPMENT>
The term "style" encompasses beer styles. The beer style may be from the BJCP style
guide, Australian,
Data tag |
Required |
Format |
Description |
STYLE |
Yes |
Record |
Starts a STYLE record -- any of the below tags may be included in any order within the <STYLE>…. </STYLE> record tags. Any non-standard tags in the style will be ignored. |
NAME |
Yes |
Text |
Name of the style profile – usually this is the specific name of the style – for example “Scottish Wee Heavy Ale” and not the Category which in this case might be “Scottish Ale” |
CATEGORY |
Yes |
Text |
Category that this style belongs to – usually associated with a group of styles such as “English Ales” or “Amercian Lagers”. |
VERSION |
Yes |
Integer |
Version of the style record. Should always be “1” for this version of the XML standard. |
CATEGORY_NUMBER |
Yes |
Text |
Number or identifier associated with this style category. For example in the BJCP style guide, the “American Lager” category has a category number of “1”. |
STYLE_LETTER |
Yes |
Text |
The specific style number or subcategory letter associated with this particular style. For example in the BJCP style guide, an American Standard Lager would be style letter “A” under the main category. Letters should be upper case. |
STYLE_GUIDE |
Yes |
Text |
The name of the style guide that this particular style or category belongs to. For example “BJCP” might denote the BJCP style guide, and “AHA” would be used for the AHA style guide. |
TYPE |
Yes |
List |
May be “Lager”, “Ale”, “Mead”, “Wheat”, “Mixed” or “Cider”. Defines the type of beverage associated with this category. |
OG_MIN |
Yes |
Specific Gravity |
The minimum specific gravity as measured relative to water. For example “1.040” might be a reasonable minimum for a Pale Ale. |
OG_MAX |
Yes |
Specific Gravity |
The maximum specific gravity as measured relative to water. |
FG_MIN |
Yes |
Specific Gravity |
The minimum final gravity as measured relative to water. |
FG_MAX |
Yes |
Specific Gravity |
The maximum final gravity as measured relative to water. |
IBU_MIN |
Yes |
IBUs |
The recommended minimum bitterness for this style as measured in International Bitterness Units (IBUs) |
IBU_MAX |
Yes |
IBUs |
The recommended maximum bitterness for this style as measured in International Bitterness Units (IBUs) |
COLOR_MIN |
Yes |
SRM Color |
The minimum recommended color in SRM |
COLOR_MAX |
Yes |
SRM Color |
The maximum recommended color in SRM. |
CARB_MIN |
No |
Volumes of CO2 |
Minimum recommended carbonation for this style in volumes of CO2 |
CARB_MAX |
No |
Volumes of CO2 |
The maximum recommended carbonation for this style in volumes of CO2 |
ABV_MIN |
No |
Percent |
The minimum recommended alcohol by volume as a percentage. |
ABV_MAX |
No |
Percent |
The maximum recommended alcohol by volume as a percentage. |
NOTES |
No |
Text |
Description of the style, history |
PROFILE |
No |
Text |
Flavor and aroma profile for this style |
INGREDIENTS |
No |
Text |
Suggested ingredients for this style |
EXAMPLES |
No |
Text |
Example beers of this style. |
Example: Bohemian
Pilsner
<STYLE>
<NAME>Bohemian Pilsner</NAME>
<CATEGORY>European Pale Ale</CATEGORY>
<CATEGORY_NUMBER>2</CATEGORY_NUMBER>
<STYLE_LETTER>A</STYLE_LETTER>
<STYLE_GUIDE>BJCP</STYLE_GUIDE>
<VERSION>1</VERSION>
<TYPE>Lager</TYPE>
<OG_MIN>1.044</OG_MIN>
<OG_MAX>1.056</OG_MAX>
<FG_MIN>1.013</FG_MIN>
<FG_MAX>1.017</FG_MAX>
<IBU_MIN>35.0</IBU_MIN>
<IBU_MAX>45.0</IBU_MAX>
<COLOR_MIN>3.0</COLOR_MIN>
<COLOR_MAX>5.0</COLOR_MAX>
<NOTES>Famous
beer of
</NOTES>
</STYLE>
Example: Dry Irish
Stout with all fields
<STYLE>
<NAME>Dry Stout</NAME>
<CATEGORY>Stout</CATEGORY>
<CATEGORY_NUMBER>16</CATEGORY_NUMBER>
<STYLE_LETTER>A</STYLE_LETTER>
<STYLE_GUIDE>BJCP</STYLE_GUIDE>
<VERSION>1</VERSION>
<TYPE>Ale</TYPE>
<OG_MIN>1.035</OG_MIN>
<OG_MAX>1.050</OG_MAX>
<FG_MIN>1.007</FG_MIN>
<FG_MAX>1.011</FG_MAX>
<IBU_MIN>30.0</IBU_MIN>
<IBU_MAX>50.0</IBU_MAX>
<COLOR_MIN>35.0</COLOR_MIN>
<COLOR_MAX>200.0</COLOR_MAX>
<ABV_MIN>3.2</ABV_MIN>
<ABV_MAX>5.5</ABV_MAX>
<CARB_MIN>1.6</CARB_MIN>
<CARB_MAX>2.1</CARB_MAX>
<NOTES>Famous Irish Stout. Dry, roasted, almost coffee like flavor. Often soured with pasteurized sour beer.
</NOTES>
<PROFILE>Full body perception due to flaked barley, though starting gravity may be low. Dry roasted flavor.
</PROFILE>
<INGREDIENTS>Made with black barley and flaked barley, Hard water. Irish Ale Yeast.
</INGREDIENTS>
<EXAMPLES>Guinness</EXAMPLES>
</STYLE>
A mash step is an internal record used within a mash profile to denote a separate step in a multi-step mash. A mash step is not intended for use outside of a mash profile.
Data tag |
Required |
Format |
Description |
MASH_STEP |
Yes |
Record |
Starts a MASH_STEP record -- any of the below tags may be included in any order within the <MASH_STEP>…. </MASH_STEP> record tags. Any non-standard tags in the mash step will be ignored. |
NAME |
Yes |
Text |
Name of the mash step – usually descriptive text such as “Dough In” or “Conversion” |
VERSION |
Yes |
Integer |
Version of the mash step record. Should always be “1” for this version of the XML standard. |
TYPE |
Yes |
List |
May be “Infusion”, “Temperature” or “Decoction” depending on the type of step. Infusion denotes adding hot water, Temperature denotes heating with an outside heat source, and decoction denotes drawing off some mash for boiling. |
INFUSE_AMOUNT |
Conditional |
Volume (liters) |
The volume of water in liters to infuse in this step. Required only for infusion steps, though one may also add water for temperature mash steps. One should not have an infusion amount for decoction steps. |
STEP_TEMP |
Yes |
Temperature (C) |
The target temperature for this step in degrees Celsius. |
STEP_TIME |
Yes |
Time in Minutes |
The number of minutes to spend at this step – i.e. the amount of time we are to hold this particular step temperature. |
RAMP_TIME |
No |
Minutes |
Time in minutes to achieve the desired step temperature – useful particularly for temperature mashes where it may take some time to achieve the step temperature. |
END_TEMP |
No |
Temperature (Celsius) |
the temperature you can expect the mash to fall to after a long mash step. Measured in degrees Celsius. |
Example: Infusion
Step add 5 liters – 68 C for 70 minutes
<MASH_STEP>
<NAME>Conversion step</NAME>
<VERSION>1</VERSION>
<TYPE>Infusion</TYPE>
<STEP_TEMP>68.0</STEP_TEMP>
<STEP_TIME>70.0</STEP_TIME>
<INFUSE_AMOUNT>5.0</INFUSE_AMOUNT>
</MASH_STEP>
Example: Decoction
Step – 68C for 90 minutes
<MASH_STEP>
<NAME>Conversion Decoction</NAME>
<VERSION>1</VERSION>
<TYPE>Decoction</TYPE>
<STEP_TEMP>68.0</STEP_TEMP>
<STEP_TIME>90.0</STEP_TIME>
</MASH_STEP>
A mash profile is a record used either within a recipe or outside the recipe to precisely specify the mash method used. The record consists of some informational items followed by a <MASH_STEPS> record that contains the actual mash steps.
Data tag |
Required |
Format |
Description |
MASH |
Yes |
Record |
Starts a MASH profile record. All items below should appear between the <MASH>..</MASH> elements. |
NAME |
Yes |
Text |
Name of the mash profile. |
VERSION |
Yes |
Integer |
Version of the mash record. Should always be “1” for this version of the XML standard. |
GRAIN_TEMP |
Yes |
Temperature (C) |
The temperature of the grain before adding it to the mash in degrees Celsius. |
MASH_STEPS |
Yes |
Record Set |
Record set that starts the list of <MASH_STEP> records. All MASH_STEP records should appear between the <MASH_STEPS> … </MASH_STEPS> pair. |
NOTES |
No |
Text |
Notes associated with this profile – may be multiline. |
TUN_TEMP |
No |
Temperature (C) |
Grain tun temperature – may be used to adjust the infusion temperature for equipment if the program supports it. Measured in degrees C. |
SPARGE_TEMP |
No |
Temperature (C) |
Temperature of the sparge water used in degrees Celsius. |
PH |
No |
Floating Point |
PH of the sparge. |
TUN_WEIGHT |
No |
Weight (Kg) |
Weight of the mash tun in kilograms |
TUN_SPECIFIC_HEAT |
No |
Floating Point |
Specific heat of the tun material in calories per gram-degree C. |
EQUIP_ADJUST |
No |
Boolean |
If TRUE, mash infusion and decoction calculations should take into account the temperature effects of the equipment (tun specific heat and tun weight). If FALSE, the tun is assumed to be pre-heated. Default is FALSE. |
Sample Single Step
Infusion Mash
<MASH>
<NAME>Single Step Infusion, 68 C</NAME>
<VERSION>1</VERSION>
<GRAIN_TEMP>22.0</GRAIN_TEMP>
<MASH_STEPS>
<MASH_STEP>
<NAME>Conversion Step, 68C </NAME>
<VERSION>1</VERSION>
<TYPE>Infusion</TYPE>
<STEP_TEMP>68.0</STEP_TEMP>
<STEP_TIME>60.0</STEP_TIME>
<INFUSE_AMOUNT>10.0</INFUSE_AMOUNT>
</MASH_STEP>
</MASH_STEPS>
</MASH>
Sample Two Step
Temperature Mash
<MASH>
<NAME>Two Step Temperature, 68C </NAME>
<VERSION>1</VERSION>
<GRAIN_TEMP>22.0</GRAIN_TEMP>
<TUN_TEMP>22.0</TUN_TEMP>
<SPARGE_TEMP>78.0</SPARGE_TEMP>
<MASH_STEPS>
<MASH_STEP>
<NAME>Protein Rest</NAME>
<VERSION>1</VERSION>
<TYPE>Temperature</TYPE>
<STEP_TEMP>49.0</STEP_TEMP>
<STEP_TIME>20.0</STEP_TIME>
<RAMP_TIME>10.0<RAMP_TIME>
<INFUSE_AMOUNT>15.0</INFUSE_AMOUNT>
</MASH_STEP>
<MASH_STEP>
<NAME>Conversion Step, 68 C</NAME>
<VERSION>1</VERSION>
<TYPE>Temperature</TYPE>
<STEP_TEMP>68.0</STEP_TEMP>
<RAMP_TIME>20.0<RAMP_TIME>
<STEP_TIME>60.0</STEP_TIME>
</MASH_STEP>
</MASH_STEPS>
</MASH>
A recipe record denotes a single recipe. A recipe record may use records from any of the previously described record formats to specify ingredients and other data.
Data tag |
Required |
Format |
Description |
RECIPE |
Yes |
Record |
Starts a RECIPE. |
NAME |
Yes |
Text |
Name of the recipe. |
VERSION |
Yes |
Integer |
Version of the recipe record. Should always be “1” for this version of the XML standard. |
TYPE |
Yes |
List |
May be one of “Extract”, “Partial Mash” or “All Grain” |
STYLE |
Yes |
Style Record |
The style of the beer this recipe is associated with. All of the required items for a valid style should be between the <STYLE>…</STYLE> tags. |
EQUIPMENT |
No |
Equipment Record |
An equipment record is optional. If included the BATCH_SIZE and BOIL_SIZE in the equipment record must match the values in this recipe record. |
BREWER |
Yes |
Text |
Name of the brewer |
ASST_BREWER |
No |
Text |
Optional name of the assistant brewer |
BATCH_SIZE |
Yes |
Volume (liters) |
Target size of the finished batch in liters. |
BOIL_SIZE |
Yes |
Volume (liters) |
Starting size for the main boil of the wort in liters. |
BOIL_TIME |
Yes |
Time in minutes |
The total time to boil the wort in minutes. |
EFFICIENCY |
Conditional |
Percentage |
The percent brewhouse efficiency to be used for estimating the starting gravity of the beer. Not required for “Extract” recipes, but is required for “Partial Mash” and “All Grain” recipes. |
HOPS |
Yes |
Hops Record Set |
Zero or more HOP ingredient records may appear between the <HOPS>…</HOPS> tags. |
FERMENTABLES |
Yes |
Fermentables Record Set |
Zero or more FERMENTABLE ingredients may appear between the <FERMENTABLES> … </FERMENTABLES> tags. |
MISCS |
Yes |
Miscs Record Set |
Zero or more MISC records may appear between <MISCS> … </MISCS> |
YEASTS |
Yes |
Yeasts Record Set |
Zero or more YEAST records may appear between <YEASTS> … </YEASTS> |
WATERS |
Yes |
Waters Record Set |
Zero or more WATER records may appear between <WATERS> … </WATERS> |
MASH |
Yes |
Mash Profile |
A MASH profile record containing one or more MASH_STEPs. NOTE: No Mash record is needed for “Extract” type brews. |
NOTES |
No |
Text |
Notes associated with this recipe – may be multiline. |
TASTE_NOTES |
No |
Text |
Tasting notes – may be multiline. |
TASTE_RATING |
No |
Floating Point |
Number between zero and 50.0 denoting the taste rating – corresponds to the 50 point BJCP rating system. |
OG |
No |
Specific Gravity |
The measured original (pre-fermentation) specific gravity of the beer. |
FG |
No |
Specific Gravity |
The measured final gravity of the finished beer. |
FERMENTATION_STAGES |
No |
Integer |
The number of fermentation stages used – typically a number between one and three |
PRIMARY_AGE |
No |
Time (days) |
Time spent in the primary in days |
PRIMARY_TEMP |
No |
Temperature C |
Temperature in degrees Celsius for the primary fermentation. |
SECONDARY_AGE |
No |
Time (days) |
Time spent in the secondary in days. |
SECONDARY_TEMP |
No |
Temperature (C ) |
Temperature in degrees Celsius for the secondary fermentation. |
TERTIARY_AGE |
No |
Time (days) |
Time spent in the third fermenter in days. |
TERTIARY_TEMP |
No |
Temperature C |
Temperature in the tertiary fermenter. |
AGE |
No |
Time (days) |
The time to age the beer in days after bottling. |
AGE_TEMP |
No |
Temperature C |
Temperature for aging the beer after bottling. |
DATE |
No |
Text |
Date brewed in a easily recognizable format such as “3 Dec 04”. |
CARBONATION |
No |
Volumes of CO2 |
Floating point value corresponding to the target volumes of CO2 used to carbonate this beer. |
FORCED_CARBONATION |
No |
Boolean |
TRUE if the batch was force carbonated using CO2 pressure, FALSE if the batch was carbonated using a priming agent. Default is FALSE |
PRIMING_SUGAR_NAME |
No |
Text |
Text describing the priming agent such as “Honey” or “Corn Sugar” – used only if this is not a forced carbonation |
CARBONATION_TEMP |
No |
Temperature (degrees C) |
The temperature for either bottling or forced carbonation. |
PRIMING_SUGAR_EQUIV |
No |
Floating point |
Factor used to convert this priming agent to an equivalent amount of corn sugar for a bottled scenario. For example, “Dry Malt Extract” would have a value of 1.4 because it requires 1.4 times as much DME as corn sugar to carbonate. To calculate the amount of DME needed, the program can calculate the amount of corn sugar needed and then multiply by this factor. |
KEG_PRIMING_FACTOR |
No |
Floating point |
Used to factor in the smaller amount of sugar needed for large containers. For example, this might be 0.5 for a typical 5 gallon keg since naturally priming a keg requires about 50% as much sugar as priming bottles. |
Sample Complete
Recipe File in XML - Dry Stout
<?xml version="1.0"
encoding="ISO-8859-1"?>
<RECIPES>
<RECIPE>
<NAME>Dry Stout</NAME>
<VERSION>1</VERSION>
<TYPE>All Grain</TYPE>
<BREWER>Brad Smith</BREWER>
<BATCH_SIZE>18.93</BATCH_SIZE>
<BOIL_SIZE>20.82</BOIL_SIZE>
<BOIL_TIME>60.0</BOIL_TIME>
<EFFICIENCY>72.0</EFFICIENCY>
<TASTE_NOTES>Nice dry Irish stout with a warm body but low starting gravity much like the famous drafts.</TASTE_NOTES>
<RATING>41</RATING>
<DATE>3 Jan 04</DATE>
<OG>1.036</OG>
<FG>1.012</FG>
<CARBONATION>2.1</CARBONATION>
<CARBONATION_USED>Kegged</CARBONATION_USED>
<AGE>24.0</AGE>
<AGE_TEMP>17.0</AGE_TEMP>
<FERMENTATION_STAGES>2</FERMENTATION_STAGES>
<STYLE>
<NAME>Dry Stout</NAME>
<CATEGORY>Stout</CATEGORY>
<CATEGORY_NUMBER>16</CATEGORY_NUMBER>
<STYLE_LETTER>A</STYLE_LETTER>
<STYLE_GUIDE>BJCP</STYLE_GUIDE>
<VERSION>1</VERSION>
<TYPE>Ale</TYPE>
<OG_MIN>1.035</OG_MIN>
<OG_MAX>1.050</OG_MAX>
<FG_MIN>1.007</FG_MIN>
<FG_MAX>1.011</FG_MAX>
<IBU_MIN>30.0</IBU_MIN>
<IBU_MAX>50.0</IBU_MAX>
<COLOR_MIN>35.0</COLOR_MIN>
<COLOR_MAX>200.0</COLOR_MAX>
<ABV_MIN>3.2</ABV_MIN>
<ABV_MAX>5.5</ABV_MAX>
<CARB_MIN>1.6</CARB_MIN>
<CARB_MAX>2.1</CARB_MAX>
<NOTES>Famous Irish Stout. Dry, roasted, almost coffee like flavor. Often soured with pasteurized sour beer. Full body perception due to flaked barley, though starting gravity may be low. Dry roasted flavor.</NOTES>
</STYLE>
<HOPS>
<HOP>
<NAME>Goldings,
<VERSION>1</VERSION>
<ALPHA>5.0</ALPHA>
<AMOUNT>0.0638</AMOUNT>
<USE>Boil</USE>
<TIME>60.0</TIME>
<NOTES>Great all purpose
</HOP>
</HOPS>
<FERMENTABLES>
<FERMENTABLE>
<NAME>Pale Malt (2 row)
<VERSION>1</VERSION>
<AMOUNT>2.27</AMOUNT>
<TYPE>Grain</TYPE>
<YIELD>78.0</YIELD>
<COLOR>3.0</COLOR>
<ORIGIN>
<SUPPLIER>Fussybrewer Malting</SUPPLIER>
<NOTES>All purpose base malt for English styles</NOTES>
<COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
<MOISTURE>4.0</MOISTURE>
<DIASTATIC_POWER>45.0</DISASTATIC_POWER>
<PROTEIN>10.2</PROTEIN>
<MAX_IN_BATCH>100.0</MAX_IN_BATCH>
</FERMENTABLE>
<FERMENTABLE>
<NAME>Barley, Flaked</NAME>
<VERSION>1</VERSION>
<AMOUNT>0.91</AMOUNT>
<TYPE>Grain</TYPE>
<YIELD>70.0</YIELD>
<COLOR>2.0</COLOR>
<ORIGIN>
<SUPPLIER>Fussybrewer Malting</SUPPLIER>
<NOTES>Adds body to porters and stouts, must be mashed</NOTES>
<COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
<MOISTURE>9.0</MOISTURE>
<DIASTATIC_POWER>0.0</DISASTATIC_POWER>
<PROTEIN>13.2</PROTEIN>
<MAX_IN_BATCH>20.0</MAX_IN_BATCH>
<RECOMMEND_MASH>TRUE</RECOMMEND_MASH>
</FERMENTABLE>
<FERMENTABLE>
<NAME>Black Barley</NAME>
<VERSION>1</VERSION>
<AMOUNT>0.45</AMOUNT>
<TYPE>Grain</TYPE>
<YIELD>78.0</YIELD>
<COLOR>500.0</COLOR>
<ORIGIN>
<SUPPLIER>Fussybrewer Malting</SUPPLIER>
<NOTES>Unmalted roasted barley for stouts, porters</NOTES>
<COARSE_FINE_DIFF>1.5</COARSE_FINE_DIFF>
<MOISTURE>5.0</MOISTURE>
<DIASTATIC_POWER>0.0</DISASTATIC_POWER>
<PROTEIN>13.2</PROTEIN>
<MAX_IN_BATCH>10.0</MAX_IN_BATCH>
</FERMENTABLE>
</FERMENTABLES>
<MISCS>
<MISC>
<NAME>Irish Moss</NAME>
<VERSION>1</VERSION>
<TYPE>Fining</TYPE>
<USE>Boil</USE>
<TIME>15.0</TIME>
<AMOUNT>0.010</AMOUNT>
<NOTES>Used as a clarifying agent during the last few minutes of the boil</NOTES>
</MISC>
</MISCS>
<WATERS>
<WATER>
<NAME>
<VERSION>1</VERSION>
<AMOUNT>20.0</AMOUNT>
<CALCIUM>295.0</CALCIUM>
<MAGNESIUM>45.0</MAGNESIUM>
<SODIUM>55.0</SODIUM>
<SULFATE>725.0</SULFATE>
<CHLORIDE>25.0</CHLORIDE>
<BICARBONATE>300.0</BICARBONATE>
<PH>8.0</PH>
<NOTES> Use for distinctive pale ales strongly hopped. Very hard water accentuates the hops flavor. Example: Bass Ale
</NOTES>
</WATER>
</WATERS>
<YEASTS>
<YEAST>
<NAME>Irish Ale</NAME>
<TYPE>Ale</TYPE>
<VERSION>1</VERSION>
<FORM>Liquid</FORM>
<AMOUNT>0.250</AMOUNT>
<LABORATORY>Wyeast Labs</LABORATORY>
<PRODUCT_ID>1084</PRODUCT_ID>
<MIN_TEMPERATURE>16.7</MIN_TEMPERATURE>
<MAX_TEMPERATURE>22.2</MAX_TEMPERATURE>
<ATTENUATION>73.0</ATTENUATION>
<NOTES>Dry, fruity flavor characteristic of stouts. Full bodied, dry, clean flavor. </NOTES>
<BEST_FOR>Irish Dry Stouts</BEST_FOR>
<FLOCCULATION>Medium</FLOCCULATION>
</YEAST>
</YEASTS>
<MASH>
<NAME>Single Step Infusion, 68 C</NAME>
<VERSION>1</VERSION>
<GRAIN_TEMP>22.0</GRAIN_TEMP>
<MASH_STEPS>
<MASH_STEP>
<NAME>Conversion Step, 68C </NAME>
<VERSION>1</VERSION>
<TYPE>Infusion</TYPE>
<STEP_TEMP>68.0</STEP_TEMP>
<STEP_TIME>60.0</STEP_TIME>
<INFUSE_AMOUNT>10.0</INFUSE_AMOUNT>
</MASH_STEP>
</MASH_STEPS>
</MASH>
</RECIPE>
</RECIPES>
Appendix
A
Optional
Extensions for
BeerXML
Display
This document describes optional extensions that may be exported by a particular beer program to enhance the easy display of data and construction of XML style sheets.
These options are NOT required and all may not be supported by a particular program. Where implemented, these tags provide a consistent method for display only. None of these values should be used for import as the display value may be rounded from the true value.
All standards of the original BeerXML description also apply here with the exception of units – all fields that are defined for display only may also use a unit tag after them. For example “3.45 gal” is an acceptable value. For consistency, the recognized unit tags are described below.
The following units are allowed and may be used interchangeably. However, only units of the appropriate type may be used for a given value. For example "volume" units may not be used for "Weight" fields.
kg - Kilograms
g - Grams
oz - Ounces
lb – Pounds
tsp – Teaspoons
tblsp –
Tablespoons
oz – Ounces (US)
cup – Cups (US)
pt – Pints (US)
qt – Quarts (US)
ml - Milliliters
l – Liters
F – Degrees Fahrenheit
C – Degrees Celsius
min - Minutes
hour - Hours
day – Days
week – Weeks
srm – SRM Color
ebc – EBC Color
L – Degrees lovibond.
sg – The relative gravity by weight when compared to water. For example “1.035 sg”
plato – Gravity measured in degrees plato
The following extensions may be used within HOP records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_AMOUNT |
No |
Text |
The amount of hops in this record along with the units formatted for easy display in the current user defined units. For example “100 g” or “1.5 oz”. |
INVENTORY |
No |
Text |
Amount in inventory for this item along with the units – for example “10.0 oz” |
DISPLAY_TIME |
No |
Text |
Time displayed in minutes for all uses except for the dry hop which is in days. For example “60 min”, “3 days”. |
The following extensions may be used within FERMENTABLE records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_AMOUNT |
No |
Text |
The amount of fermentables in this record along with the units formatted for easy display in the current user defined units. For example “1.5 lbs” or “2.1 kg”. |
POTENTIAL |
No |
Specific Gravity |
The yield of the fermentable converted to specific gravity units for display. For example “1.036” or “1.040” might be valid potentials. |
INVENTORY |
No |
Text |
Amount in inventory for this item along with the units – for example “10.0 lb” |
DISPLAY_COLOR |
No |
Text |
Color in user defined color units along with the unit identified – for example “200L” or “40 ebc” |
The following extensions may be used within MISC records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_AMOUNT |
No |
Text |
The amount of the item in this record along with the units formatted for easy display in the current user defined units. For example “1.5 lbs” or “2.1 kg”. |
INVENTORY |
No |
Text |
Amount in inventory for this item along with the units – for example “10.0 lb” |
DISPLAY_TIME |
No |
Text |
Time in appropriate units along with the units as in “10 min” or “3 days”. |
The following extensions may be used within YEAST records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_AMOUNT |
No |
Text |
The amount of yeast or starter in this record along with the units formatted for easy display in the current user defined units. For example “1.5 oz” or “100 g”. |
DISP_MIN_TEMP |
No |
Text |
Minimum fermentation temperature converted to current user units along with the units. For example “54.0 F” or “24.2 C” |
DISP_MAX_TEMP |
No |
Text |
Maximum fermentation temperature converted to current user units along with the units. For example “54.0 F” or “24.2 C” |
INVENTORY |
No |
Text |
Amount in inventory for this hop along with the units – for example “10.0 pkgs” |
CULTURE_DATE |
No |
Text |
Date sample was last cultured in a neutral date form such as “10 Dec 04” |
The following extensions may be used within WATER records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_AMOUNT |
No |
Text |
The amount of water in this record along with the units formatted for easy display in the current user defined units. For example “5.0 gal” or “20.0 l”. |
The following extensions may be used within STYLE records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_OG_MIN |
No |
Text |
Original gravity minimum in user defined units such as “1.036 sg”. |
DISPLAY_OG_MAX |
No |
Text |
Original gravity max in user defined units such as “1.056 sg” |
DISPLAY_FG_MIN |
No |
Text |
Final gravity minimum in user defined units such as “1.010 sg”. |
DISPLAY_FG_MAX |
No |
Text |
Final gravity maximum in user defined units such as “1.019 sg”. |
DISPLAY_COLOR_MIN |
No |
Text |
Minimum color in user defined units such as “30 srm”. |
DISPLAY_COLOR_MAX |
No |
Text |
Maximum color in user defined units such as “20 srm” |
OG_RANGE |
No |
Text |
Original gravity range for the style such as “1.030-1.040 sg” |
FG_RANGE |
No |
Text |
Final gravity range such as “1.010-1.015 sg” |
IBU_RANGE |
No |
Text |
Bitterness range in IBUs such as “10-20 IBU” |
CARB_RANGE |
No |
Text |
Carbonation range in volumes such as “2.0-2.6 vols” |
COLOR_RANGE |
No |
Text |
Color range such as “10-20 SRM” |
ABV_RANGE |
No |
Text |
|
The following may be used with equipment records for display purposes.
Data tag |
Required |
Format |
Description |
DISPLAY_BOIL_SIZE |
Yes |
Text |
The pre-boil volume normally used for a batch of this size shown in display volume units such as “5.5 gal” |
DISPLAY_BATCH_SIZE |
Yes |
Text |
The target volume of the batch at the start of fermentation in display volume units such as “5.0 gal” |
DISPLAY_TUN_VOLUME |
No |
Text |
Volume of the mash tun in display units such as “10.0 gal” or “20.0 l” |
DISPLAY_TUN_WEIGHT |
No |
Text |
Weight of the mash tun in display units such as “3.0 kg” or “6.0 lb” |
DISPLAY_TOP_UP_WATER |
No |
Text |
The amount of top up water normally added just prior to starting fermentation in display volume such as “1.0 gal” |
DISPLAY_TRUB_CHILLER_LOSS |
No |
Text |
The amount of wort normally lost during transition from the boiler to the fermentation vessel. Includes both unusable wort due to trub and wort lost to the chiller and transfer systems. Expressed in user units - Ex: “1.5 qt” |
DISPLAY_LAUTER_DEADSPACE |
No |
Text |
Amount lost to the lauter tun and equipment associated with the lautering process. Ex: “2.0 gal” or “1.0 l” |
DISPLAY_TOP_UP_KETTLE |
No |
Text |
Amount normally added to the boil kettle before the boil. Ex: “1.0 gal” |
The following extensions may be used within MASH records for the purpose of export and display only.
Data tag |
Required |
Format |
Description |
DISPLAY_GRAIN_TEMP |
No |
Text |
Grain temperature in user display units with the units. For example: “72 F”. |
DISPLAY_TUN_TEMP |
No |
Text |
Tun temperature in user display units. For example “68 F” |
DISPLAY_SPARGE_TEMP |
No |
Text |
Sparge temperature in user defined units. For example “178 F” |
DISPLAY_TUN_WEIGHT |
No |
Text |
Tun weight in user defined units – for example “10 lb” |
The following may optionally be used in mash steps. They must appear between the <MASH_STEP> … </MASH_STEP> tags.
DESCRIPTION |
No |
Text |
Textual description of this step such as “Infuse 4.5 gal of water at 170 F” – may be either generated by the program or input by the user. |
WATER_GRAIN_RATIO |
No |
Text |
The total ratio of water to grain for this step AFTER the infusion along with the units, usually expressed in qt/lb or l/kg. Note this value must be consistent with the required infusion amount and amounts added in earlier steps and is only relevant as part of a <MASH> profile. For example “1.5 qt/lb” or “3.0 l/kg” |
DECOCTION_AMT |
No |
Text |
Calculated volume of mash to decoct. Only applicable for a decoction step. Includes the units as in “7.5 l” or “2.3 gal” |
INFUSE_TEMP |
No |
Text |
The calculated infusion temperature based on the current step, grain, and other settings. Applicable only for an infusion step. Includes the units as in “154 F” or “68 C” |
DISPLAY_STEP_TEMP |
No |
Text |
Step temperature in user defined temperature units. For example “154F” or “68 C” |
DISPLAY_INFUSE_AMT |
No |
Text |
Infusion amount along with the volume units as in “20 l” or “13 qt” |
The following may optionally be used in recipes. They must appear between the <RECIPE> … </RECIPE> tags.
EST_OG |
No |
Text |
Calculated estimate of the original gravity for this recipe along with the units. |
|||
EST_FG |
No |
Text |
Calculated estimate for the final specific gravity of this recipe along with the units as in “1.015 sg” |
|||
EST_COLOR |
No |
Text |
The estimated color of the beer in user defined color units. |
|||
IBU |
No |
IBUs |
The estimated bitterness level of the beer in IBUs |
|||
IBU_METHOD |
No |
List |
May be “Rager”, “Tinseth” or “Garetz” corresponding to the method/equation used to estimate IBUs for this recipe. |
|||
EST_ABV |
No |
Percent |
Estimated percent alcohol by volume for this recipe. |
|||
ABV |
No |
Percent |
Actual alcohol by volume calculated from the OG and FG measured. |
|||
ACTUAL_EFFICIENCY |
No |
Percent |
The actual efficiency as calculated using the measured original and final gravity. |
|||
CALORIES |
No |
Text |
Calorie estimate based on the measured starting and ending
gravity. Note that calories should be
quoted in “ |
|||
DISPLAY_BATCH_SIZE |
No |
Text |
Batch size in user defined units along with the units as in “5.0 gal” |
|||
DISPLAY_BOIL_SIZE |
No |
Text |
Boil size with user defined units as in “6.3 gal” |
|||
DISPLAY_OG |
No |
Text |
Measured original gravity in user defined units as in “6.4 plato” |
|||
DISPLAY_FG |
No |
Text |
Measured final gravity in user defined units as in “1.035 sg” |
|||
DISPLAY_PRIMARY_TEMP |
No |
Text |
Primary fermentation temperature in user defined units such as “64 F” |
|||
DISPLAY_SECONDARY_TEMP |
No |
Text |
Secondary fermentation temperature in user defined units such as “56 F” |
|||
DISPLAY_TERTIARY_TEMP |
No |
Text |
Tertiary temperature in user defined units such as “20 C” |
|||
DISPLAY_AGE_TEMP |
No |
Text |
Temperature to use when aging the beer in user units such as “55 F” |
|||
CARBONATION_USED |
No |
Text |
Text description of the carbonation used such as “50g corn sugar” or “Kegged at 20psi” |
|||
DISPLAY_CARB_TEMP |
No |
Text |
Carbonation/Bottling temperature in appropriate units such as “40F” or “32 C” |
|||