mIBU Calculator

This page provides a calculator for predicting IBUs using the mIBU method, which is described in a blog post "A Modified IBU Calculation (Especially for Late Hopping and Whirlpool Hops)". This method modifies the Tinseth IBU formula to account for post-flameout utilization. This calculator takes into account utilization from any hop stand or whirlpool, as well as the time it takes to cool the wort using an immersion chiller, counterflow chiller, or ice bath. There are a number of additional modifications to the Tinseth formula, all of which are optional: an alpha-acid solubility limit, adjustment of IBUs based on wort pH, adjustment of IBUs based on wort clarity and krausen loss, and adjustment based on the use of hop pellets instead of whole cones. This calculator is described in more detail in An On-Line Calculator for the mIBU Technique.

For "boil or steep time", specify the number of minutes before flameout. A negative value indicates time after flameout. For example, a value of 10 means that the hops are added at 10 minutes before flameout (during the boil). A value of 0 indicates a flameout addition. A value of -10 means that the hops are added to the hot wort at 10 minutes after flameout. Post-flameout kettle additions can be made during a whirlpool or hop stand, or while the wort is being force cooled.

Default values are shown in grayish-red. The defaults should yield reasonable results for most homebrewing scenarios. The temperature-decay defaults are based on the wort volume, kettle diameter, and kettle opening diameter. For most homebrewers, the kettle diameter and the opening diameter are the same (with an uncovered kettle). The "exponential decay" function is probably somewhat more accurate than the "linear" function, but the linear function is easier to conceptualize (e.g. a decrease of 1.74°F per minute).

To get back to a default value, enter 'd'. To save settings to a text file or load them from a file, use the "Save" and "Load" buttons near the bottom of this page. To clear all settings, use the "clear" button at the bottom of this page.


Input Units: metric or U.S. customary (e.g. gallons, ounces)

Kettle Diameter (inches): (for wort exposed surface area)
Kettle Opening Diameter (inches): (usually same as kettle diameter)

Boil Time (minutes):
Evaporation Rate (G/hr):
Wort Volume (G): pre-boil or post-boil volume
(Post-Boil) Original Gravity:
Wort/Trub Left in Kettle (G): (only needed for partial boils)
(Partial Boil) Added Water (G):

Number of Hop Additions:
Global IBU Scaling Factor:
Default Hop Form:

Apply alpha-acid solubility-limit correction
Apply pH correction with wort pH = pre-boil or post-boil

Post-Boil Temperature Decrease:
Post-Boil Wort Temperature Decay Function: linear or exponential decay
   temperature (°F) = TO_BE_CHANGED

Whirlpool and/or Hop Stand Time: minutes
cool with immersion chiller to °F; hold this temperature during hop-stand time

Forced Cooling Method:
  immersion chiller (exponential decay factor: )
  counterflow chiller (wort flow rate: gallons/min)
  ice bath (exponential decay factor: )

Wort Clarity into Fermentor:
Krausen Loss:


Save and Load:

Save to File:
Load from File:


1.0.1: (2018-May-06) Initial version. The default values for temperature decay functions are fixed, based on 6G (24l) wort in a 10G (40l) kettle, uncovered.
1.1.0: (2018-May-23) Add 'kettle diameter' and 'kettle opening diameter' fields to compute wort exposed surface area and opening area. Make linear and exponential post-boil temperature decrease defaults dependent on volume, wort exposed surface area, and opening area. Make exponential decay the default temperature decrease function. Minor bug fix in IBU computation.
1.1.1: (2018-Jun-15) Minor revision to exponential temperature decay rate constant prediction. Bug fix in linear temperature decay defaults.
1.2.0: (2018-Jul-15) Complete re-write under the hood. Add boil time. Minor fixes. New functionality: automatically save and load parameter settings.
1.2.1: (2018-Jul-18) Add option to hold hop stand at constant temperature. Minor adjustments.
1.2.2: (2018-Sep-03) Add pH adjustment. Add pre- or post-boil volume option. Minor adjustments.
1.2.3: (2018-Dec-29) Minor adjustments; no effect on computations.
1.2.4: (2019-Jan-21) Minor adjustments. If hold whirlpool temperature, do initial cooling with immersion chiller.
1.2.5: (2019-Jun-25) Add option for krausen loss.
1.2.6: (2019-Jun-28) Adjust volume use in computations; impacts hopping rates around 200ppm.
1.2.7: (2020-Feb-21) Add ability to save and load files.
1.2.8: (2020-Jun-09) Minor update to the effect of pH on auxiliary bittering compounds.
1.2.9: (2020-Sep-16) Many thanks to Marko Heyns at Grainfather for finding several bugs related to the solubility limit and temperature decay!
1.2.10: (2020-Sep-20) Update solubility-limit model and pH-loss model
1.2.11: (2020-Oct-21) Add adjustment factor for wort clarity
1.2.12: (2020-Oct-31) Add adjustment factor for pellets
1.2.13: (2020-Nov-01) Stop when degree of utilization reaches 0.01 instead of 0.001
1.2.14: (2020-Nov-07) Thanks again to Marko Heyns at Grainfather for finding a bug with the use of pellets at high hopping rate!
1.2.15: (2020-Nov-22) Minor bug fixes, checking, and cleanup.
1.2.16: (2021-Aug-28) Minor HTML cleanup.
1.2.17: (2021-Oct-05) Specify meaning of "boil or steep time". Check for log of negative number.
1.2.18: (2021-Nov-25) Minor updates.
1.2.19: (2023-Aug-06) Fix hop selection buttons in Safari. Thanks to David Barrow for pointing this out!

Navigate to:
top of page
AlchemyOverlord home page


Copyright © 2018-2021 John-Paul Hosom, all rights reserved. While I hope that you find this page useful, I make no guarantees about the accuracy or suitability of the results. Predicting IBUs is a bit of a "black art", because there are so many variables and there is so much variability. The only way to really know the IBU level of a beer is to have it professionally tested, which is something I highly recommend. Cheers!