Reserva de frecuencia cardiaca
Resta la frecuencia en reposo a la máxima y le da el margen en el que entrena: con una máxima de 190 lpm y un reposo de 60 lpm, la reserva es de 130 lpm. Los entrenadores lo usan como base de zonas de intensidad individuales. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Frecuencia cardíaca máxima
- 190
- Frecuencia cardíaca en reposo
- 60
- Reserva de frecuencia cardíaca
- 130 bpm
La reserva de frecuencia cardiaca es la diferencia entre la frecuencia máxima y la frecuencia en reposo. Esta calculadora recibe ambas mediciones en pulsaciones por minuto y devuelve el margen disponible entre reposo y esfuerzo máximo. Entrenadores y aplicaciones emplean esa diferencia para preparar zonas de intensidad personalizadas. El cálculo es determinista, funciona sin conexión y no guarda perfiles.
Qué representa la reserva de frecuencia cardiaca
La reserva de frecuencia cardiaca, abreviada con frecuencia como HRR, es el intervalo entre el pulso en reposo y el máximo. La fórmula resta la frecuencia en reposo de la máxima y expresa todos los valores en pulsaciones por minuto. Si el máximo es 190 bpm y el reposo es 60 bpm, la reserva es 130 bpm.
Ese resultado no es un pulso que deba mantener, sino el margen que varios métodos usan para preparar zonas. Dos personas pueden compartir un máximo, pero partir de reposos distintos y, por tanto, tener reservas diferentes. No estima el máximo según la edad, no obtiene datos de un dispositivo ni prescribe ejercicio.
Así ofrece una pieza numérica estable para planes, hojas de cálculo, clases y pruebas automatizadas. Use mediciones fiables y solicite orientación profesional si existen síntomas o riesgos de salud.
Cómo introducir valores máximos y de reposo válidos
El máximo debe ser estrictamente mayor que el reposo para que la reserva sea positiva. Por ejemplo, 185 y 55 devuelven 130 bpm; 60 y 60 se rechazan porque darían cero, y 55 y 70 porque darían un resultado negativo. No se aplica un límite máximo basado en la edad ni se redondean decimales válidos.
En integraciones, conserve la unidad devuelta y muestre el error de validación para que usted pueda corregir valores invertidos o mal escritos.
Cómo usar la reserva para preparar zonas de entrenamiento
Un paso posterior habitual consiste en usar la reserva en una fórmula de objetivo al estilo Karvonen: frecuencia en reposo más una fracción de intensidad multiplicada por la reserva. Con 130 bpm de reserva y 60 bpm en reposo, un ejemplo al 60 por ciento sería 60 más 0.60 por 130, es decir, 138 bpm. Esta capacidad no realiza ese paso ni elige porcentajes.
Separar el cálculo permite reutilizarlo con distintas políticas y evita presentar una intensidad genérica como adecuada para todo el mundo. No se almacena ningún perfil, no se consulta ningún wearable y no se usa la fecha. Medicación, enfermedad, temperatura y fatiga pueden modificar el pulso; el resultado matemático no sustituye una autorización médica.
Qué puede hacer con ella
Preparar datos para zonas de entrenamiento
Obtenga la reserva positiva que una fórmula porcentual documentada puede usar en un paso posterior.
Crear software de actividad física
Añada un cálculo HRR validado y determinista a paneles, planificadores o herramientas educativas.
Comprobar ejercicios y pruebas
Genere resultados reproducibles de máximo menos reposo para clases, ejemplos y CI.
Preguntas frecuentes
¿Cuál es la fórmula de la reserva de frecuencia cardiaca?
La reserva es la frecuencia máxima menos la frecuencia en reposo; los tres valores se expresan en bpm.
¿La calculadora estima la frecuencia máxima según la edad?
No. Usted proporciona directamente la frecuencia máxima; no se utiliza la edad ni una fórmula estimativa.
¿Puedo usar el resultado para calcular zonas?
Sí, la reserva sirve como entrada para varios métodos, pero aquí no se eligen porcentajes ni se prescribe intensidad.
¿Por qué importa la frecuencia en reposo para la intensidad?
Porque dos personas pueden tener la misma frecuencia máxima y partir de reposos distintos. Sus reservas serán diferentes, y un porcentaje de la reserva refleja esa diferencia cuando se calcula una intensidad objetivo.
¿La reserva es un pulso al que debo apuntar al entrenar?
No. No es un pulso que haya que mantener, sino el margen entre el reposo y el esfuerzo máximo. Los métodos de entrenamiento toman un porcentaje de ese margen para fijar objetivos.
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/health/heart-rate-reserve \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"maximum_heart_rate":190,"resting_heart_rate":60}'const res = await fetch("https://api.kit.forhosting.com/health/heart-rate-reserve", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"maximum_heart_rate": 190,
"resting_heart_rate": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/heart-rate-reserve",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"maximum_heart_rate": 190,
"resting_heart_rate": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/heart-rate-reserve", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"maximum_heart_rate":190,"resting_heart_rate":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"maximum_heart_rate":190,"resting_heart_rate":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/heart-rate-reserve", 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
{
"maximum_heart_rate": 190,
"resting_heart_rate": 60
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.heart_rate_reserve",
"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
Puede usarlo gratis en el navegador o llamar a la API por $0.002 en cada solicitud correcta.
Qué representa la reserva de frecuencia cardiaca
La respuesta repite las entradas validadas, devuelve heart_rate_reserve, indica bpm e incluye la fórmula exacta.
Cómo introducir valores máximos y de reposo válidos
Proporcione maximum_heart_rate y resting_heart_rate como números finitos y positivos en bpm. Se recomiendan números JSON, aunque también se aceptan cadenas decimales limpias y los alias documentados, como max_hr, hr_max, rhr y resting_hr. Los campos ausentes, cero, valores negativos, Infinity, NaN, booleanos, matrices, objetos o texto con unidades producen invalid_input en vez de una conversión dudosa.
Cómo usar la reserva para preparar zonas de entrenamiento
La misma lógica pura se ejecuta en el navegador y mediante la API, por lo que una pareja de entradas siempre produce el mismo JSON. Cada solicitud correcta por API cuesta $0.002; las entradas no válidas fallan claramente.
Preguntas técnicas
¿Por qué el máximo debe superar al reposo?
La reserva debe ser positiva. Una diferencia de cero o negativa devuelve invalid_input.
¿Cuánto cuesta la calculadora?
Es gratuita en el navegador. Cada solicitud correcta mediante API cuesta $0.002; una entrada inválida devuelve un error.