Import BeerSmith recipes
BeerSmith is where BeerXML comes from. The format is really “whatever BeerSmith writes, plus whatever everyone else writes to be read by BeerSmith”, and most of the quirks the importer handles are BeerSmith’s. They are all handled, and this page says how.


Getting the file out
Section titled “Getting the file out”Select the recipes in BeerSmith and use its export to BeerXML. One file can hold many recipes, and we read all of them. Then Import on the recipes page in Beerwright, choose the file, and read the preview. The importing page explains the preview and the rule that decides every field: your numbers win, and the catalog fills in only what the file could not say.
Or export the BeerSmith file itself
Section titled “Or export the BeerSmith file itself”BeerSmith has a format of its own, and you can hand it to us instead. In
BeerSmith, tick the recipes you want and choose File, then Export
Selected. What comes out is a .bsmx, and it reads here directly: drop
it on the same Import button and the preview badges it BeerSmith. One
file holds as many recipes as you ticked.
It is worth knowing which file you have, because the native one is a little truer in four places:
- Your strike temperature. BeerSmith writes the infusion temperature
into BeerXML as a piece of screen text, and a BeerXML reader cannot tell
the unit from the number. The
.bsmxstates it plainly, so a mash that strikes at 162 °F arrives at 72 °C rather than pinned to the top of the range. - Your rig. The recipe carries the equipment profile it was written against, whole: batch and boil volumes, the boil-off as an hourly rate, trub and chiller loss, tun deadspace, top-ups, tun volume and the brewhouse efficiency your numbers were computed at. We read all of it, and the batch size and the boil length land on the recipe itself.
- Your fermentation schedule. BeerSmith fills in all three stages
whether or not your profile uses them. The
.bsmxsays how many are real, so a two-stage profile arrives with two stages and its conditioning, not with a tertiary you never planned. - How you carbonate, and when you pitched. The carbonation profile says bottle or keg, and the yeast’s package date comes across in a form we can read.
Nothing else comes across that BeerXML does not bring. A .bsmx can also
hold your brew sessions, and those are the measured gravities and volumes
on the recipe itself: we show them in the preview where you actually
recorded one, and we leave the fields you never touched alone. They do not
become batches — no import path makes batches.
One thing to watch: BeerSmith can also export a .bsmx full of grains,
hops or equipment on their own, from those views rather than the recipe
view. That is a list of ingredients rather than a recipe, and we say so and
point you at Import on the Inventory page.
What we read around
Section titled “What we read around”The encoding. BeerSmith’s default is ISO-8859-1, not UTF-8, and it writes the odd Windows entity in pasted notes. We read the bytes as the file declares them and decode the entities, so a recipe named after a Kölsch arrives with its umlaut.
Display fields. BeerSmith writes a DISPLAY_* field beside every
canonical one, rounded and in your unit. We never read those. The numeric
field beside them is the truth.
Figures with units in them. BeerSmith writes an estimated OG as
"1.056 SG" and color as "7.0 SRM". We take the number. The file’s
own vitals are shown in the preview and then discarded anyway; we compute
our own.
Potential. BeerSmith states a malt’s yield as a gravity per pound per gallon, 1.036 for 36 PPG. We convert it, and it becomes the row’s yield, your number rather than the catalog’s.
Recommend mash. BeerSmith’s database writes RECOMMEND_MASH=FALSE on
base malts, Maris Otter among them. Honoring it would steep a base malt
and cost an all-grain recipe a third of its gravity, so it is ignored and
the ingredient’s own type decides mash or steep.
Adjuncts. Flaked maize and torrified wheat come across as grain, which is what they are in a mash.
Whirlpool additions. A hop stand is written as USE=Aroma with the
duration, because BeerXML predates whirlpool hopping. We read it as a
whirlpool addition with that stand time.
Dry-hop time in minutes. BeerXML says time is minutes for every use,
and BeerSmith obeys: a four-day dry hop is 5760. A time over sixty is
read as minutes, and it arrives as four days.
Dates. BeerSmith writes a yeast’s manufacture date in your locale’s order, and day-first cannot be told from month-first. We leave an ambiguous date unread rather than guess it. It only feeds the viability estimate, and the date is one field to retype on the row.
Corn sugar by another name. BeerSmith writes “Corn Sugar” where others write “corn sugar (dextrose)”. Both match the same catalog entry.
What does not come across
Section titled “What does not come across”BeerSmith’s equipment profiles, mash profiles and carbonation settings are BeerSmith’s, and we do not create profiles of our own from them. The recipe lands on your default equipment profile and the schedule in the file; set up your rig under Profiles and switch the recipe to it. Tasting notes, ratings, per-ingredient notes and the file’s own style ranges are dropped, and the importing page lists the rest.
Your stock
Section titled “Your stock”BeerSmith can export ingredients as a BeerXML list, and that brings your stock across when the file includes the amounts you have. Choose it with Import on the Inventory page. The inventory page says what comes across and what doesn’t.
Related
Section titled “Related”Something wrong on this page? Tell us.