DEV Community

Michael Lip
Michael Lip

Posted on • Originally published at zovo.one

The Widmark Formula: How BAC Is Actually Calculated

Blood Alcohol Concentration (BAC) is the most legally consequential number most people never learn to calculate. The legal limit for driving in most US states is 0.08%. Cross that line and you're facing DUI charges, license suspension, and thousands in fines. But what does 0.08% actually mean? How many drinks gets you there? And why does it vary so dramatically from person to person?

The math behind BAC estimation was worked out by a Swedish physician named Erik Widmark in the 1930s. His formula is still the basis for every BAC calculator, every forensic alcohol analysis, and every expert witness testimony in DUI cases. It's surprisingly simple, and understanding it might be the most practically useful math you'll ever learn.

The Widmark formula

BAC = (A / (r * W)) - (beta * t)
Enter fullscreen mode Exit fullscreen mode

Where:

  • A = total alcohol consumed in grams
  • r = Widmark factor (body water constant): 0.68 for men, 0.55 for women
  • W = body weight in grams
  • beta = alcohol elimination rate (typically 0.015% per hour)
  • t = time elapsed since first drink in hours

The result is expressed as a percentage: 0.08% means 0.08 grams of alcohol per 100 milliliters of blood.

Breaking down each variable

Alcohol consumed (A). This is measured in grams, not drinks. A "standard drink" in the US is defined as 14 grams of pure alcohol, which is equivalent to:

  • 12 oz of beer at 5% ABV
  • 5 oz of wine at 12% ABV
  • 1.5 oz of spirits at 40% ABV (80 proof)

The conversion: grams = volume_in_oz * ABV_percentage * 0.0296 * 28.35

Or more practically:

function alcoholGrams(volumeOz, abvPercent) {
  return volumeOz * (abvPercent / 100) * 23.36;
  // 23.36 comes from: 29.5735 mL/oz * 0.789 g/mL (density of ethanol)
}

// 12 oz beer at 5%
alcoholGrams(12, 5);  // 14.02 grams

// 5 oz wine at 12%
alcoholGrams(5, 12);  // 14.02 grams

// 1.5 oz whiskey at 40%
alcoholGrams(1.5, 40); // 14.02 grams
Enter fullscreen mode Exit fullscreen mode

These all equal approximately 14 grams because that's how "standard drink" is defined. But real-world drinks rarely match the standard. A craft IPA might be 7-9% ABV. A generous pour of wine might be 8 ounces. A cocktail with two shots contains two standard drinks, not one.

Body water constant (r). This is the factor that accounts for body composition. Alcohol distributes through body water but not body fat. Men have a higher average water-to-body-weight ratio (0.68) than women (0.55), which means the same amount of alcohol produces a higher BAC in women than in men of the same weight. This isn't a small difference -- it's about a 24% higher BAC for the same consumption.

Body weight (W). Heavier people have more body water to dilute the alcohol. A 200-pound person has roughly 33% lower BAC than a 150-pound person after consuming the same amount of alcohol.

Elimination rate (beta). The liver metabolizes alcohol at a roughly constant rate of about 0.015% BAC per hour for most people. This is a linear process, not exponential -- your BAC decreases by approximately the same amount each hour regardless of how high it is. Some studies use 0.017% for men and 0.015% for women, but the variation between individuals is significant (0.010% to 0.020%).

This linearity is important. It means "sleeping it off" takes a predictable amount of time. If your BAC is 0.15% and elimination is 0.015%/hour, it takes 10 hours to reach 0.00%. Not "until morning." Ten hours.

Worked example

A 180-pound man has three beers (12 oz each, 5% ABV) over 2 hours.

A = 3 * 14 = 42 grams of alcohol
W = 180 * 453.6 = 81,648 grams (converting pounds to grams)
r = 0.68
beta = 0.015
t = 2 hours

BAC = (42 / (0.68 * 81648)) - (0.015 * 2)
BAC = (42 / 55,520.64) - 0.03
BAC = 0.0756 - 0.03
BAC = 0.0456 = approximately 0.046%
Enter fullscreen mode Exit fullscreen mode

Below the legal limit. But barely change the inputs -- make it four beers, reduce the weight to 150 pounds, or reduce the time to 1 hour -- and that number crosses 0.08% quickly.

A 130-pound woman having the same three beers in 2 hours:

A = 42 grams
W = 130 * 453.6 = 58,968 grams
r = 0.55

BAC = (42 / (0.55 * 58968)) - (0.015 * 2)
BAC = (42 / 32,432.4) - 0.03
BAC = 0.1295 - 0.03
BAC = 0.0995 = approximately 0.10%
Enter fullscreen mode Exit fullscreen mode

Over the legal limit. Same drinks, same timeframe, different result. The combination of lower body weight and lower body water ratio produces a BAC more than twice as high.

What the formula doesn't capture

Food. Eating before or while drinking slows alcohol absorption significantly. The Widmark formula assumes alcohol is fully absorbed, which typically takes 30-90 minutes on an empty stomach but can take several hours with food. This means BAC may peak later and lower than the formula predicts when food is involved.

Tolerance. Regular drinkers metabolize alcohol slightly faster (higher beta) and experience less impairment at the same BAC. But tolerance doesn't change the legal definition of impairment, and the increased elimination rate is modest -- maybe 0.018% per hour instead of 0.015%.

Medications. Many medications interact with alcohol metabolism. Some slow it (causing higher, longer-lasting BAC), and some cause dangerous synergistic effects even at low BAC levels.

Individual variation. The Widmark factor and elimination rate are population averages. Individual values can vary by 20% or more based on liver enzyme activity, genetics, health conditions, and other factors.

Why estimates are not breathalyzers

Every BAC calculator includes a disclaimer, and for good reason. The Widmark formula provides an estimate based on averages. Real BAC depends on variables that can't be measured without a blood test or calibrated breathalyzer. An estimate of 0.07% could be 0.05% or 0.09% in reality.

This means BAC calculators are useful for understanding the general relationship between drinks, body weight, and intoxication. They are not reliable for determining whether you're legally safe to drive. If you've been drinking, the only safe answer is don't drive.

For running the Widmark formula with your specific inputs -- weight, sex, number of drinks, drink type, and time elapsed -- I built a calculator at zovo.one/free-tools/bac-calculator. It shows you the estimated BAC over time and how long until it reaches zero. Use it for education, not for making driving decisions.


I'm Michael Lip. I build free developer tools at zovo.one. 350+ tools, all private, all free.

Top comments (0)