{
  "slug": "bac-calculator",
  "title": "BAC Calculator",
  "heading": "Blood Alcohol Content Estimator",
  "category": "fitness-health",
  "url": "https://www.revenuelab.fyi/toolbox/bac-calculator",
  "summary": "Estimated BAC from drinks, weight, and time elapsed.",
  "description": "The Widmark formula estimates blood alcohol from body water distribution. It is an estimate only — food, medication, and individual metabolism shift the real number. Never use it to decide whether to drive.",
  "formula": "BAC = (Alcohol grams ÷ (weight g × r)) × 100 − 0.015 × hours.",
  "dateModified": "2026-09-30",
  "run_url": "https://www.revenuelab.fyi/api/public/calc?tool=bac-calculator",
  "inputs": [
    {
      "id": "drinks",
      "label": "Standard drinks",
      "kind": "number",
      "hint": null,
      "default": 3,
      "unit": null,
      "min": 0,
      "max": 25
    },
    {
      "id": "weight",
      "label": "Body weight",
      "kind": "number",
      "hint": null,
      "default": 175,
      "unit": "lb",
      "min": 80,
      "max": 400
    },
    {
      "id": "sex",
      "label": "Sex",
      "kind": "select",
      "hint": null,
      "default": "male",
      "options": [
        {
          "value": "male",
          "label": "Male"
        },
        {
          "value": "female",
          "label": "Female"
        }
      ]
    },
    {
      "id": "hours",
      "label": "Hours since first drink",
      "kind": "number",
      "hint": null,
      "default": 2,
      "unit": null,
      "min": 0,
      "max": 24
    }
  ],
  "outputs": [
    {
      "id": "bac",
      "label": "Estimated BAC",
      "format": "decimal",
      "hint": null,
      "primary": true
    },
    {
      "id": "legal",
      "label": "Status",
      "format": "raw",
      "hint": null,
      "primary": false
    },
    {
      "id": "hoursToZero",
      "label": "Hours until roughly zero",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "hoursTo08",
      "label": "Hours until below 0.08%",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "peak",
      "label": "Peak BAC before metabolism",
      "format": "decimal",
      "hint": null,
      "primary": false
    },
    {
      "id": "drinks",
      "label": "Standard drinks counted",
      "format": "decimal",
      "hint": null,
      "primary": false
    }
  ],
  "worked_example": {
    "inputs": [
      "Standard drinks: 3",
      "Body weight: 175 lb",
      "Sex: Male",
      "Hours since first drink: 2"
    ],
    "outputs": [
      "Estimated BAC: 0.048",
      "Status: Over the 0.04% commercial limit",
      "Hours until roughly zero: 3.2",
      "Hours until below 0.08%: 0",
      "Peak BAC before metabolism: 0.078",
      "Standard drinks counted: 3"
    ]
  },
  "how_to": {
    "title": "How to use this",
    "steps": [
      "Enter standard drinks.",
      "Enter body weight (lb).",
      "Enter sex.",
      "Enter hours since first drink.",
      "Read your estimated bac on the right — it updates as you type.",
      "Hit Share to keep the scenario or send it to someone."
    ]
  },
  "scenarios": [
    {
      "name": "Conservative",
      "description": "Lower-end numbers — what if things land soft?",
      "values": {
        "drinks": 1.7999999999999998,
        "weight": 175,
        "sex": "male",
        "hours": 1.2
      }
    },
    {
      "name": "Typical",
      "description": "Defaults — the most common real-world setup.",
      "values": {
        "drinks": 3,
        "weight": 175,
        "sex": "male",
        "hours": 2
      }
    },
    {
      "name": "Ambitious",
      "description": "Higher-end numbers — what if things really pop?",
      "values": {
        "drinks": 4.800000000000001,
        "weight": 175,
        "sex": "male",
        "hours": 3.2
      }
    }
  ],
  "limitations": [
    "Population formulas describe averages; individual bodies vary, especially at the extremes of height, age, or muscle mass.",
    "Results do not account for medical conditions, medication, or pregnancy.",
    "Use this as a directional reference, not a diagnosis — talk to a clinician before acting on it."
  ],
  "faq": [
    {
      "q": "How does the blood alcohol content estimator work?",
      "a": "The Widmark formula estimates blood alcohol from body water distribution. It is an estimate only — food, medication, and individual metabolism shift the real number. Never use it to decide whether to drive. The underlying maths is: BAC = (Alcohol grams ÷ (weight g × r)) × 100 − 0.015 × hours."
    },
    {
      "q": "What do I need to enter?",
      "a": "4 values: standard drinks, body weight, sex, and hours since first drink. Each field starts with a sensible default, so you can change one number at a time and watch the result move."
    },
    {
      "q": "What does the estimated bac result mean?",
      "a": "It is returned as a decimal number and updates live as you edit the inputs, so you can compare two or three versions of a scenario in a few seconds."
    },
    {
      "q": "Is this calculator free, and do I need an account?",
      "a": "Yes, it's free, and no account is required. Nothing you type is stored on our servers — the maths runs entirely in your browser."
    },
    {
      "q": "How accurate is the result?",
      "a": "It applies the standard formula exactly, so the arithmetic is precise. Population formulas describe averages; individual bodies vary, especially at the extremes of height, age, or muscle mass."
    },
    {
      "q": "Who is this tool for?",
      "a": "It's built for anyone tracking a health or training target and wanting the standard formula applied correctly, without a signup or an app."
    }
  ],
  "related": [
    "https://www.revenuelab.fyi/toolbox/water-intake",
    "https://www.revenuelab.fyi/toolbox/calories-burned-running"
  ],
  "license": "CC-BY-4.0",
  "citation": "RevenueLab — BAC Calculator (https://www.revenuelab.fyi/toolbox/bac-calculator)"
}