BeerXML is a free, fully defined XML data description standard designed for the exchange of beer brewing recipes and other brewing data. Tables of recipes as well as other records such as hop schedules and malt bills can be represented using BeerXML for use by brewing software.
BeerXML is an open standard and as a subset of Extensible Markup Language (XML). BeerXML is a markup language that defines a set of rules for encoding documents in a format that is both human-readable and machine-readable.
BeerXML is supported by a number of web sites, computer programmes and an increasing number of Android Windows Phone and iOS apps.
Plugins and extensions supporting BeerXML have been written for a variety of platforms including Ruby via RubyGems, WordPress, PHP and JavaScript
Many brewing hardware manufacturers incorporate BeerXML into their systems and third party plugins and patches are being developed for brewery control hardware and embedded systems allowing the automation and fine control and timing of processes such as mashing and potentially fermentation.
Common applications and examples of usage
BeerXML is used in both amateur and professional brewing and facilitates the sharing of brewing data over the internet. Users of different applications such as the open-source software Brewtarget (with more than 52,000 downloads ) can share data via XML with users of popular proprietary software such as Beersmith and ORRTIZ: BMS 4 Breweries or upload their data to share on BeerXML compatible sharing sites and cloud platforms such as Brewtoad (over 50,000 registered users ) or the Beersmith Recipe Cloud (with 43,000 registered users). A user of a recipe design and sharing and creation site such as Brewersfriend.com can import and export BeerXML to and from mobile apps or enter it into a brewing competition database such as The Brew Competition Online Entry & Management (BCOE&M) system.
The adoption of BeerXML as a standard is leading to new developments such as ingredients databases which attempt to standardise ingredients definitions and characteristics. Brewers can use platforms like Brewblogger.com to create recipes and log their brewday for publication as a blog and for export to databases and common spreadsheet applications.
JavaScript applications such as brauhaus.js (developed from the Malt.io recipe sharing site ) allow users to run them on a local machine or web browser for execution through any standards compliant web browser.
Supported fields
The following fields form the core information of the BeerXML structure
Recipes
Recipe name
Brewer
Brewing method (All grain, Partial Mash, Extract ) Recipe Type (Ale, Lager, Hybrid, etc.) Recipe volume (Run length) Boil volume (Wort size) Boil time (duration) Recipe efficiency Estimated values OG (Original Gravity) FG (Final Gravity) Color (SRM) Bitterness (IBU) Alcohol content (%abv)
Hops
Name
Origin
Description
Alpha acids
Beta acids
Storageability (HSI) Humulene Caryophyllene Cohumulone Myrcene Farsene (not explicitly included in BeerXML v1) Total oil (not explicitly included in BeerXML v1)
Recipe Specific - When added (Boil, Mash, First Wort, Dry, etc.)
Amount
Time (duration)
Fermentables
Name
Origin
Description
Type (Grain, Sugar, etc.) Potential Recommend Mash (true or false) IBU gal/lb (for hopped extract) Color (°Lovibond) Moisture content Protein content Diastatic power (°Lintner) Maximum used (% of grist)
Recipe Specific
Amount
Late Addition (true or false)
Additives (Called MISC for miscellaneous in BeerXML v1)
Name
Description
Type (Fining, Spice, Herb, etc.)
Recipe Specific - When added (Boil, Primary, etc.)
Amount
Time (duration)
Yeasts
Name
Supplier
Catalog number
Description
Type (Ale, Lager, etc.) Form (Dry, Liquid, etc.) Best for Temperature range Flocculation Attenuation Max reuse
Recipe Specific
Amount
Added to secondary (true or false) Time cultured