Malt DI pH: what it is and how to find yours

Your water report has six numbers everyone obsesses over. Your malt has one number almost nobody knows, and on soft water it decides your mash pH nearly single-handedly: the distilled-water mash pH, or DI pH. Here is what it is, why it matters, and the three ways to find yours, from easiest to most certain.

What it is

Mash a malt in pure distilled water and the mash settles at a pH set entirely by the malt itself: its phosphates, organic acids, and whatever its kilning did to them. That equilibrium is the malt's DI pH, its acidity fingerprint. Each malt also has a buffering capacity, which says how hard that fingerprint pushes when malts are blended: mix grains and the grist settles at a buffering-weighted average of their DI pH values. That, plus your water and salts, is the whole mash pH calculation.

Typical values, from the published measurements: pilsner and lager malts run 5.6 to 5.9 (the multi-study mean is 5.76, with real lots scattered across almost 0.4 pH), pale ale and Vienna malts around 5.7, Munich around 5.55, and wheat malts high, near 6.0. Crystal malts fall with color, from about 5.5 for the lightest dextrine malts to 4.5 for the darkest, while roasted grains cluster tightly at 4.6 to 4.8 regardless of how dark they look. Every grain page in the database shows its malt's measured value and who measured it, or the class-average estimate where no measurement has been published.

Why a tenth of a point matters

DI pH is the starting line the whole pH prediction launches from, and for the malt that makes up most of your grist, an error passes through almost undiminished: if your base malt is 85% of the bill and really mashes 0.1 higher than the number in the calculator, your mash lands about 0.09 higher than predicted, and correcting it costs roughly 2 mL of 88% lactic on a typical five-gallon grist.

And misses of that size are normal, not rare. Published measurements of the same product category disagree by 0.2 or more (two Weyermann pilsner products measured 5.62 and 5.85), lot-to-lot variation within one product runs ±0.1, and even bag-to-bag variability has been measured at ±0.05. Database values, brewwtr's included, are typical values. Your sack is a specific lot, and no database knows it. This is also why chasing water profiles to the decimal is misplaced precision while ignoring DI pH: the water numbers you are polishing sit on top of a malt number that might be off by ten times as much.

Finding yours, level 1: the lot certificate

Maltsters analyze every lot they ship, and the certificate of analysis often includes a "wort pH" measured on a standardized Congress mash. That number approximates DI pH within about ±0.05 (the method uses a finer grind and thinner, temperature-stepped mash than a homebrew mini-mash). Weyermann is the standout: every lot's certificate is published as a PDF you can pull with the lot number printed on the sack. In brewwtr, type the lot number into the grain row's lot field and the COA link takes you straight there for Weyermann grains, or to the RahrBSG certificate portal for most US-distributed maltsters. Not every maltster publishes pH (Briess, for example, provides certificates on request), but when yours does, it is thirty seconds to a number measured on your actual malt.

Finding yours, level 2: measure it

The most certain number comes from your own kitchen, and the experiment is genuinely short. Mill about 50 g of the malt finely (grind fineness barely moves DI pH, though it does raise buffering). Heat 150 to 200 mL of distilled water to about 150°F (65°C), stir the grain in, and hold it warm for 10 to 15 minutes, stirring once or twice. Pull a sample, cool it to room temperature, and read it with a meter you calibrated against 4.0 and 7.0 buffers that day. That reading is your lot's DI pH. Two details carry the accuracy: cool the sample first (hot readings sit ~0.3 low and cook your probe), and do not fuss over the exact water ratio, since measured DI pH is essentially constant from thick to very thin mashes. One measurement per sack is enough; you do not need to repeat it per batch.

Entering it in brewwtr

Every grain row has a DI pH field. Its placeholder shows the value the model will use if you leave it empty (a green label means measured data from the database; otherwise a class-average estimate), and anything you type wins over both, while the malt keeps its measured buffering curve. Enter your certificate or mini-mash number for the malt that dominates your grist and the calculator's acid dose is now calibrated to your actual sack. Record the lot number alongside it and the value documents itself; if you contribute measured brews, the lot rides along and helps build the per-lot picture for everyone. Small specialty malts rarely repay the same effort: a 5% crystal addition being off by 0.1 moves the mash by thousandths.

One habit ties it together: measure your mash pH on brew day, log it in the measurement card, and compare it to the prediction. If the delta is consistently one-sided with a malt you have not calibrated, its DI pH is the first suspect, and one certificate lookup or mini-mash usually closes the books.

FAQ

What is a typical DI pH for base malt?

Pilsner and lager malts run 5.6 to 5.9 (multi-study mean 5.76), pale ale and Vienna around 5.7, Munich around 5.55, wheat malts near 6.0. Crystal malts fall with color from about 5.5 to 4.5, and roasted grains cluster at 4.6 to 4.8 no matter how dark.

Is the wort pH on my malt certificate the same as DI pH?

Close: the Congress-mash wort pH approximates DI pH within about ±0.05; the method uses a finer grind and a thinner, temperature-stepped mash. It is measured on your actual lot, so it beats any typical value from a database. Enter it in the grain row DI pH field.

How much does a 0.1 error in DI pH matter?

On the malt that dominates your grist, nearly the full 0.1 lands on the mash pH, which costs roughly 2 mL of 88% lactic to correct on a typical five-gallon grist. On a 5% specialty malt the same error is noise.

Does mash thickness change DI pH?

Barely. Measured DI pH is essentially constant from thick mashes to very thin ones (2.5 to 8 L/kg), which is why a single mini-mash calibrates every recipe you brew from that sack.

Do I need to measure every grain?

No. Measure or look up the base malt that makes up most of the grist; database values and class averages are fine for the rest. One number per sack, entered once per grain row, carries every batch.

More questions? Browse the full brewing water FAQ →

Enter your malt's DI pH and dose acid to match →

Measured values and variability follow D.M. Riffe & M. Spencer, "A Homebrewing Perspective on Mash pH III: Distilled-Water pH and Buffering Capacity of the Grist" (2018), which compiles measurements by Troester, deLange, Bies, Geurts, Walts, and the authors; the charge-conservation blending model follows A.J. deLange (MBAA Technical Quarterly 52(1), 2015). Congress-mash wort pH conventions per Weyermann lot certificates.