# BAC Calculator > Estimate blood alcohol concentration from detailed beer, wine, spirit, and custom beverage amounts using a Widmark-style model. Page: https://askcalculators.com/calculator/bac-calculator/ Definition: https://askcalculators.com/calculator/bac-calculator/definition.json JSON Schema: https://askcalculators.com/calculator/bac-calculator/schema.json Version: 2.0.0 Maintained by: AskCalculators (software project; not a credentialed reviewer) Qualified review: pending. Automated checks do not establish professional approval. Page status: Live Review status: Pending ## Use Open the calculator page and enter values. Query-string parameters can restore and bookmark a calculation. Example: https://askcalculators.com/calculator/bac-calculator/?unitSystem=imperial&sex=male&weightLb=180&hoursSinceFirstDrink=2&beerCount=3&beerSizeOz=12&beerAbv=5&wineCount=0&wineSizeOz=5&wineAbv=12&spiritCount=0&spiritSizeOz=1.5&spiritAbv=40&otherVolumeOz=0&otherAbv=0&metabolismRate=0.015 ## Inputs - unitSystem: Body-weight units; type=select; required; default=imperial; values=imperial|metric - sex: Sex-based distribution factor; type=select; required; default=male; values=male|female - weightLb: Body weight; type=number; required; default=180; min=50; max=1000; showWhen=unitSystem:imperial - weightKg: Body weight; type=number; required; default=82; min=20; max=450; showWhen=unitSystem:metric - hoursSinceFirstDrink: Hours since first drink; type=number; required; default=2; min=0; max=48 - beerCount: Beer servings; type=number; required; default=3; min=0; max=50 - beerSizeOz: Beer serving size; type=number; required; default=12; min=0; max=64 - beerAbv: Beer alcohol; type=percent; required; default=5; min=0; max=100 - wineCount: Wine servings; type=number; required; default=0; min=0; max=50 - wineSizeOz: Wine serving size; type=number; required; default=5; min=0; max=32 - wineAbv: Wine alcohol; type=percent; required; default=12; min=0; max=100 - spiritCount: Spirit servings; type=number; required; default=0; min=0; max=50 - spiritSizeOz: Spirit serving size; type=number; required; default=1.5; min=0; max=16 - spiritAbv: Spirit alcohol; type=percent; required; default=40; min=0; max=100 - otherVolumeOz: Other beverage total volume; type=number; required; default=0; min=0; max=1000 - otherAbv: Other beverage alcohol; type=percent; required; default=0; min=0; max=100 - metabolismRate: Assumed elimination rate; type=number; required; default=0.015; min=0.005; max=0.03 ## Outputs - estimatedBac: Estimated current BAC; format=percent; primary - peakBac: Estimated pre-elimination BAC; format=percent - standardDrinks: Approximate U.S. standard drinks; format=number - alcoholGrams: Pure alcohol consumed; format=number - hoursToZero: Additional estimated time to zero; format=number - safetyMessage: Safety message; format=text ## Formula Alcohol grams = volume × ABV × ethanol density; Widmark-style BAC = alcohol grams ÷ (distribution factor × body mass grams) × 100 − elimination rate × hours. ## Rules - Empty optional inputs are undefined, not zero. - Hidden conditional inputs are ignored. - Do not invent missing required inputs. Notice: Never use a BAC estimate to decide whether to drive, operate equipment, supervise others, or delay emergency care. Actual BAC can be higher or lower.