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”

 

 

Purpose

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.

 

General

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).

 

File Extension

The file extension “.xml” should be used for all BeerXML files.  For example, a recipe file might be named “recipes.xml”.

 

Comments

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  -->

 

Special Characters

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

&

&amp;

< 

&lt;

> 

&gt;

&quot;

&apos;

 

XML Header

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

Tag names will be uppercase.  For example "HOP" is acceptable, but "hop" and Hop" are not.

 

Version

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.

 

Non-Standard Tags

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.

 

Data Formats

- 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.

 

Units

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.

Weight Units

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.

Volume Units

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.

Temperature Units

All temperatures will be measured in degrees Celsius.

Time Units

All times will be in minutes or fractions thereof – unless otherwise specified in the tag description.

Specific Gravity Units

Specific Gravity will be measured relative to the weight of the same size sample of water. For example “1.035”, “1.060”, etc…

Pressure Units

Pressures will be measured in kilopascals (kPa)

 

 

Record Sets

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>

 

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>

 

Fermentable

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>United Kingdom</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>

 

Yeast

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 “Champagne

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>

 

 

Misc

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 Holiday ales.  Very good when used in light wheat ales.  Often used with Bitter Orange Peel. Crack open seeds and add at the end of the boil to extract aroma and flavor.

</NOTES>

</MISC>

 

Water

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>Burton on Trent, UK</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>

Equipment

 

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>

 

 

Style

The term "style" encompasses beer styles.  The beer style may be from the BJCP style guide, Australian, UK or local style guides.  Generally a recipe is designed to one style.

 

 

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 Pilsen, Czech republic.  Light to medium body with some sweetness.  Saaz hop flavor and aroma with no lingering bitterness.

</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>

 

Mash Step

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>

 

Mash Profile

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>

 

Recipe

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, East Kent</NAME>

 <VERSION>1</VERSION>

 <ALPHA>5.0</ALPHA>

 <AMOUNT>0.0638</AMOUNT>

<USE>Boil</USE>

 <TIME>60.0</TIME>

 <NOTES>Great all purpose UK hop for ales, stouts, porters</NOTES>

</HOP>

    </HOPS>

    <FERMENTABLES>

<FERMENTABLE>

 <NAME>Pale Malt (2 row) UK</NAME>

 <VERSION>1</VERSION>

 <AMOUNT>2.27</AMOUNT>

 <TYPE>Grain</TYPE>

<YIELD>78.0</YIELD>

 <COLOR>3.0</COLOR>

 <ORIGIN>United Kingdom</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>United Kingdom</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>United Kingdom</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>Burton on Trent, UK</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

 

Purpose

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.

 

 

Standards

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.

Units

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.

Weight Units

kg  - Kilograms

g - Grams

oz - Ounces

lb – Pounds

Volume Units

tsp – Teaspoons

tblsp – Tablespoons

oz – Ounces (US)

cup – Cups (US)

pt – Pints (US)

qt – Quarts (US)

ml - Milliliters

l – Liters

Temperature Units

F – Degrees Fahrenheit

C – Degrees Celsius

Time Units

min - Minutes

hour - Hours

day – Days

week – Weeks

Color Units

srm – SRM Color

ebc – EBC Color

L – Degrees lovibond.

Specific Gravity Units

sg – The relative gravity by weight when compared to water.  For example “1.035 sg”

plato – Gravity measured in degrees plato

 

 

Hop Extensions

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”.

 

Fermentable Extensions

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”

 

Misc Extensions

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”.

 

Yeast Extensions

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”

 

Water Extensions

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”.

 

Style Extensions

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

ABV Range for this style such as “4.5-5.5%”

 

Equipment Extensions

 

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”

 

Mash Extensions

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”

 

 

Mash Step Extensions

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”

 

Recipe Extensions

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 “Cal” or kilocalories which is the normal dietary measure (i.e. a beer is usually in the range of 100-250 calories per 12 oz).  Examples “180 Cal/pint”,

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”