Calculadora de BAC
Un hombre de 70 kg que tomó 2 bebidas estándar tendría un 0,0288 % de alcohol en sangre a las 2 horas, según el modelo de Widmark. Vea cómo influyen el peso, las bebidas y el tiempo: es una estimación educativa, nunca un permiso para conducir. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Sexo
- Masculino
- Peso (kg)
- 70
- Cantidad de bebidas
- 2
- Horas
- 2
- Alcohol (g)
- 28
- Factor de Widmark
- 0,68
- Alcoholemia (%)
- 0,0288
Estima la concentración de alcohol en sangre (BAC) como porcentaje con la ecuación de Widmark a partir del sexo, el peso corporal, el número de bebidas estándar y las horas transcurridas. Estimación educativa únicamente, no es asesoramiento legal ni médico.
Cómo se construye la estimación de Widmark
El cálculo sigue tres pasos sencillos. Primero, las bebidas se convierten en gramos de alcohol puro: cada bebida estándar cuenta como 14 gramos, salvo que usted indique otro tamaño, así que 2 bebidas son 28 gramos. Después, esos gramos se dividen entre el peso corporal multiplicado por una proporción de distribución, 0,68 en hombres y 0,55 en mujeres. Por último, se supone que el cuerpo elimina 0,015 puntos porcentuales por cada hora desde la primera bebida. Para un hombre de 70 kg, con 2 bebidas y 2 horas, el resultado es 0,0288 %. Cuando pasa suficiente tiempo, la cifra se queda en cero en lugar de volverse negativa.
Lo que la cifra no puede decirle
Widmark describe a una persona promedio, no a usted. No tiene en cuenta la comida, la graduación real de cada bebida, los medicamentos, la tolerancia ni el metabolismo de cada persona, de modo que la alcoholemia real puede alejarse mucho de la estimación. Un error frecuente es contar cualquier copa como una bebida estándar; por eso puede cambiar el tamaño de la bebida estándar para ajustarlo a otra definición. Otro es contar las horas desde la última bebida y no desde la primera. Use el resultado para aprender cómo se combinan peso, bebidas y tiempo: no es asesoramiento legal ni médico y nunca indica que pueda conducir.
Determinismo, límites y una advertencia de seguridad
Fundamentalmente, Widmark es un promedio poblacional: ignora la comida, la variación en la graduación de la bebida, la medicación, la tolerancia, la composición corporal específica por sexo más allá de la constante r y el metabolismo individual, de modo que el BAC real varía mucho. Trate el número como una estimación educativa únicamente. No es asesoramiento legal ni médico y no autoriza a conducir.
Qué puede hacer con ella
Ilustración educativa del BAC
Muestre cómo interactúan el número de bebidas, el peso corporal y el tiempo transcurrido bajo el modelo de Widmark, con fines puramente de aprendizaje.
Preguntas frecuentes
¿Qué es aquí una bebida estándar?
14 gramos de alcohol por defecto (una bebida estándar de EE.
¿Puedo cambiar la tasa de eliminación?
Sí. El campo beta tiene un valor por defecto de 0,015 puntos de BAC por hora y puede ajustarse; el resultado se acota en cero.
¿Es esto asesoramiento legal o médico?
No. Es una estimación educativa únicamente, no asesoramiento legal ni médico, y no autoriza a conducir. El BAC real varía con muchos factores que Widmark ignora.
¿Por qué tantos decimales?
Los valores de BAC son pequeños, por eso decimals es 4 por defecto (rango de 0 a 4).
¿Por qué la calculadora pide el sexo?
Porque el modelo de Widmark usa una proporción de distribución distinta para cada uno: 0,68 para hombres y 0,55 para mujeres. Con el mismo peso y las mismas bebidas, la proporción menor da una alcoholemia estimada más alta.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su stack
curl -X POST https://api.kit.forhosting.com/dev/bac-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"sex":"male","weight_kg":70,"drinks":2,"hours":2}'const res = await fetch("https://api.kit.forhosting.com/dev/bac-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/bac-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/bac-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"sex":"male","weight_kg":70,"drinks":2,"hours":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"sex":"male","weight_kg":70,"drinks":2,"hours":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/bac-calculator", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Ejemplo de solicitud
{
"sex": "male",
"weight_kg": 70,
"drinks": 2,
"hours": 2
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.bac_calculator",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
La ecuación de Widmark que evalúa
Esta calculadora aplica el modelo clásico de Widmark. El resultado se acota en cero, porque una vez que pasa tiempo suficiente la estimación no puede volverse negativa. Primero convierte las bebidas en gramos de alcohol como alcohol_g = drinks * grams_per_drink, donde grams_per_drink es 14 por defecto (una bebida estándar de EE. UU.). Luego calcula el BAC en bruto como alcohol_g / (r * weight_kg * 10) menos beta * hours, donde r es la razón de distribución de Widmark, 0,68 para hombre y 0,55 para mujer, y beta es la tasa de eliminación metabólica, con un valor por defecto de 0,015 por hora. El ejemplo resuelto, un hombre de 70 kg con 2 bebidas tras 2 horas, da alcohol_g 28 y bac_percent 0.0288. La respuesta reproduce sex, weight_kg, drinks, hours, alcohol_g y r, y etiqueta method "widmark" para que un resultado almacenado se describa a sí mismo.
Campos, rangos y coeficientes ajustables
Se requieren cuatro campos: sex (enum "male" o "female", que selecciona r), weight_kg (un número positivo hasta 300), drinks (un número no negativo, se admiten decimales para media bebida) y hours (un número no negativo de horas desde la primera bebida). Tres campos opcionales ajustan la fisiología: grams_per_drink (por defecto 14, positivo) para modelar una definición distinta de bebida estándar; beta (por defecto 0,015, no negativo) para ajustar la tasa de eliminación; y decimals, un entero de 0 a 4 cuyo valor por defecto es 4, ya que las cifras de BAC son pequeñas y necesitan precisión. Cada entrada se comprueba por tipo, finitud y rango antes de la aritmética, y las infracciones devuelven un error invalid_input tipado que nombra el campo, por ejemplo un peso superior a 300 kg o un número de bebidas negativo.
Determinismo, límites y una advertencia de seguridad
Un valor intermedio no finito se rechaza como invalid_input en lugar de propagarse.
Casos de integración
Ajuste la definición de bebida estándar
Anule grams_per_drink para reflejar una unidad del Reino Unido o un cóctel fuerte en lugar del valor por defecto de 14 g de EE. UU., y observe el efecto.
Respalde un cálculo de investigación o de una app
Llame a la API con el mismo contrato JSON para calcular estimaciones en masa, manteniendo la matemática determinista de Widmark en el servidor.
Preguntas técnicas
¿Qué fórmula usa?
La ecuación de Widmark: alcohol_g / (r * weight_kg * 10) menos beta * hours, con r 0,68 para hombre y 0,55 para mujer.