Calcule sus zonas de frecuencia cardíaca con Karvonen
Esta calculadora obtiene cinco zonas personalizadas de entrenamiento mediante la edad, la frecuencia cardíaca en reposo y el método de Karvonen.
Ejecutar — gratis
En vez de aplicar un porcentaje simple a la frecuencia máxima, primero calcula la reserva cardíaca y después vuelve a sumar el pulso en reposo. El resultado ofrece límites redondeados en pulsaciones por minuto, desde el trabajo aeróbico suave hasta el esfuerzo máximo estimado. Úselo como referencia para planificar, no como sustituto de una evaluación médica o deportiva individual.
Cómo personaliza la intensidad el cálculo de Karvonen
El método de Karvonen comienza con una frecuencia cardíaca máxima estimada mediante 220 menos la edad. A continuación resta la frecuencia en reposo para obtener la reserva cardíaca, es decir, el intervalo disponible entre el reposo y el máximo estimado. Cada intensidad se aplica a esa reserva y luego se suma de nuevo el pulso en reposo: la frecuencia objetivo equivale al pulso en reposo más la reserva multiplicada por la intensidad. Por eso dos personas de la misma edad pueden obtener intervalos diferentes. Una persona con un pulso en reposo más bajo suele disponer de una reserva mayor que otra de igual edad con un pulso más alto. La calculadora distribuye esa reserva en cinco bandas habituales: 50–60%, 60–70%, 70–80%, 80–90% y 90–100%. Cada límite se redondea a la pulsación entera más próxima para compararlo con un reloj, una banda pectoral, una máquina de ejercicio o un recuento manual. También se muestran el máximo estimado y la reserva para que el cálculo sea transparente.
Mida e introduzca un pulso en reposo útil
La frecuencia en reposo resulta más representativa cuando se mide en un estado verdaderamente tranquilo. Hágalo después de permanecer varios minutos en calma o poco después de despertarse, antes de que la cafeína, el ejercicio o un trayecto estresante alteren la lectura. Cuente las pulsaciones durante un minuto completo o utilice un monitor fiable; si es posible, compare varias mañanas en lugar de depender de un día atípico. Introduzca la edad en años y el pulso en pulsaciones por minuto. La edad debe ser positiva y la frecuencia en reposo debe quedar por debajo del máximo estimado según la edad; de lo contrario, no existe una reserva positiva que pueda dividirse en zonas. Una enfermedad, la deshidratación, el calor, ciertos medicamentos, dormir mal o la fatiga acumulada pueden modificar la respuesta cardíaca. Considere estas zonas estimaciones de planificación, no umbrales fisiológicos exactos. Si nota dolor torácico, mareo, desmayo o una falta de aire inusual, interrumpa el ejercicio y solicite orientación profesional adecuada.
Cómo utilizar las cinco zonas en un plan
La zona 1 es la más suave y suele servir para calentamientos, vueltas a la calma, recuperación y movimiento ligero. La zona 2 se emplea con frecuencia en sesiones cómodas de resistencia aeróbica, con respiración controlada. La zona 3 añade un esfuerzo moderado y sostenido, mientras que la zona 4 representa un trabajo intenso que normalmente se mantiene durante menos tiempo. La zona 5 abarca desde un esfuerzo muy alto hasta el máximo estimado y suele reservarse para intervalos breves en personas preparadas. Estas etiquetas describen una demanda cardiovascular creciente, pero no prescriben cuánto tiempo debe pasar cada persona en una banda. La condición física, el deporte, la experiencia, la salud, el ambiente y el objetivo de la sesión modifican la intensidad adecuada. Además, el pulso tarda en responder a cambios bruscos, por lo que un esprint puede terminar antes de que el monitor alcance su zona. Combine los intervalos con la percepción del esfuerzo, la respiración, el ritmo, la potencia y la recuperación. Recalcule cuando cambien la edad o una medición estable en reposo, no ante cada pequeña variación diaria.
Qué puede hacer con ella
Planificar una sesión aeróbica
Convierta la edad y un pulso en reposo medido en intervalos claros para tramos suaves, moderados e intensos.
Configurar avisos del monitor
Use los límites redondeados al definir alertas de zona en un reloj o una aplicación compatible con banda pectoral.
Documentar una referencia de entrenamiento
Registre los datos de la fórmula y las cinco zonas antes de decidir con un profesional cómo aplicarlas al plan general.
Preguntas frecuentes
¿Qué fórmula utiliza esta calculadora?
Estima la frecuencia máxima como 220 menos la edad, resta el pulso en reposo para calcular la reserva y suma de nuevo ese pulso a cada porcentaje elegido de la reserva.
¿Cuánto cuesta un cálculo por API?
Cada solicitud por API cuesta $0.002. El cálculo es determinista y no consulta servicios externos.
¿Por qué influye el pulso en reposo?
Karvonen aplica los porcentajes al intervalo entre el reposo y el máximo estimado; por eso una misma edad puede producir objetivos distintos según el pulso basal.
¿Estas zonas constituyen consejo médico?
No. Son estimaciones educativas y de planificación. Un profesional sanitario o del ejercicio puede indicar una intensidad segura para cada situación.
¿Por qué se redondean los objetivos?
Los monitores y los recuentos manuales suelen mostrar pulsaciones enteras por minuto, así que cada límite se redondea al entero más próximo.
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/calc2/heart-rate-zones \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":40,"resting_heart_rate":60}'const res = await fetch("https://api.kit.forhosting.com/calc2/heart-rate-zones", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 40,
"resting_heart_rate": 60
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/heart-rate-zones",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 40,
"resting_heart_rate": 60
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/heart-rate-zones", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":40,"resting_heart_rate":60}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":40,"resting_heart_rate":60}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/heart-rate-zones", 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
{
"age": 40,
"resting_heart_rate": 60
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.heart_rate_zones",
"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. |