This optimizer solves a common homebrew problem: you want a beer at a specific original gravity and a specific colour, using just a base malt and one specialty malt. It sweeps every grain ratio and reports the two-malt bill that gets closest to both targets at once.
How it works
There are two equations in play.
Gravity. A malt’s contribution in gravity points is:
points = PPG × weight(lb) × efficiency / volume(gal)
Summed over the bill, the points give OG as 1 + points/1000. The tool inverts
this to find the total grain weight needed for your OG at each ratio.
Colour. Beer colour starts as Malt Colour Units:
MCU = Σ (grain Lovibond × grain lb) / volume(gal)
MCU is then converted to SRM with the widely used Morey equation:
SRM = 1.4922 × MCU^0.6859
Because two malts give only one free ratio but you have two targets, the tool minimises the combined error: it scans the specialty malt’s share from 0 to 100 percent, computes OG and SRM at each step, and keeps the ratio with the smallest squared distance from both targets.
Worked example
Target OG 1.050, target SRM 12, in a 20L batch at 72 percent efficiency, using a 3°L base malt (37 PPG) and a 60°L crystal malt (34 PPG). The optimizer finds a bill that is mostly base malt with a modest crystal addition, lands OG very near 1.050, and pushes SRM toward 12 from the crystal’s colour. If the crystal is too light to reach SRM 12 at a reasonable share, the tool reports the closest SRM it can achieve and flags the residual.
Tips and notes
- For darker targets, choose a darker specialty malt (e.g. chocolate or roasted barley at 300 to 500°L) so a small percentage moves the colour a long way.
- SRM rises faster than linearly at low MCU and slower at high MCU — that is the Morey curve, and it is why pale beers are sensitive to tiny crystal additions.
- The optimizer assumes both malts share the same efficiency; in practice highly kilned grains convert slightly less, so treat the bill as a starting recipe and adjust after your first brew.