ForHosting KIT · Salud y deporte

Calculadora de macros

Reparta un objetivo diario de calorías entre proteínas, carbohidratos y grasas: 2000 kcal con 30/40/30 dan 150 g de proteína, 200 g de carbohidratos y 66,7 g de grasa. Elija sus propios porcentajes, siempre que sumen 100. Gratis en su navegador.

  • Gratis
  • Funciona en su navegador
  • Sin registro
  • Sus datos no salen de su equipo
Úselo desde WebAPIEmailTelegramApp pronto
Si escribe
Calorías diarias
2 000
Obtiene
Proteína (%)
30
Carbohidratos (%)
40
Grasa (%)
30
Proteína (g)
150

Reparte un total diario de calorías en proteínas, carbohidratos y grasas, devolviendo gramos y kcal de cada uno a partir de entradas en porcentaje, usando 4 kcal/g para proteínas y carbohidratos y 9 kcal/g para grasas.

De calorías a gramos en dos pasos

Un plan de macros parte de un número, su objetivo diario de calorías, y de tres porcentajes que indican cuánto procede de proteínas, carbohidratos y grasas. Primero, cada porcentaje se aplica al total: con 2000 kcal y el reparto por defecto de 30, 40 y 30 %, salen 600 kcal de proteína, 800 de carbohidratos y 600 de grasa. Después, la energía se convierte en peso con los factores habituales de 4 kcal por gramo para proteínas y carbohidratos y 9 kcal por gramo para la grasa. El resultado es 150 g de proteína, 200 g de carbohidratos y 66,7 g de grasa.

Errores frecuentes al repartir macros

Dividir todos los porcentajes entre 4 es el error clásico: la grasa aporta más del doble de energía por gramo, así que tratarla como proteína exagera los gramos. Otro error son los porcentajes que no suman exactamente 100; aquí se rechazan en lugar de estirarse en silencio, de modo que una errata no se esconde dentro del plan. Cada porcentaje debe estar entre 0 y 100 y el objetivo de calorías debe ser mayor que cero. Los resultados se redondean a un decimal por defecto, y puede elegir entre cero y dos decimales.

Cómo se calcula el reparto

Con los valores por defecto de 30/40/30 sobre un objetivo de 2000 kcal, esto da 600, 800 y 600 kcal, que se convierten en 150 g de proteínas, 200 g de carbohidratos y 66.7 g de grasas, coincidiendo exactamente con el ejemplo publicado. La respuesta reproduce el total de calorías y los tres porcentajes, de modo que quien llama puede almacenar el plan de macros completo desde una única solicitud sin recalcular nada en el cliente.

Aplicaciones de nutrición y dieta

Convierta el objetivo de calorías de un usuario y su proporción de macros elegida en un plan diario gramo a gramo sin llevar la fórmula al cliente.

¿Qué ocurre si solo envío calories?

Usa el reparto por defecto del 30 % de proteínas, el 40 % de carbohidratos y el 30 % de grasas, de modo que un único valor de calories devuelve un desglose completo de macros.

¿Por qué los gramos por cuatro no coinciden exactamente con las kcal?

Los gramos y las kcal se redondean cada uno de forma independiente a partir del valor de energía sin redondear, de modo que sus formas redondeadas pueden diferir ligeramente por diseño.

¿Cómo calculo los gramos de proteína a partir de las calorías?

Multiplique el objetivo de calorías por el porcentaje de proteína y divida entre 4, la energía de cada gramo. Con 2000 kcal y un 30 % de proteína son 600 kcal, es decir, 150 g de proteína al día.

¿Por qué la grasa se divide entre 9 y no entre 4?

Porque cada gramo de grasa aporta 9 kcal, mientras que la proteína y los carbohidratos aportan 4. Por eso 600 kcal de grasa son solo 66,7 g, frente a 150 g para la misma energía en proteína.

¿Qué pasa si mis porcentajes no suman 100?

El reparto se rechaza en lugar de reajustarse en silencio. Una combinación como 30, 40 y 29 falla, así que corrija uno de los porcentajes hasta que los tres sumen exactamente 100 y vuelva a intentarlo.

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.

POSThttps://api.kit.forhosting.com/dev/macro-calculator

¿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.

curl -X POST https://api.kit.forhosting.com/dev/macro-calculator \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"calories":2000}'
{
  "calories": 2000
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.macro_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.

Por solicitud$0.002

Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.

HTTPCódigoSignificado
401unauthorizedAPI key ausente o inválida.
402insufficient_balanceEl saldo no cubre el precio de la tarea.
404unknown_typeEl tipo de tarea no existe.
429rate_limitedDemasiadas peticiones. Use el webhook en vez de sondear.

Cómo se calcula el reparto

Multiplica calories por cada porcentaje sobre 100 para obtener protein_kcal, carb_kcal y fat_kcal, y luego convierte la energía en masa usando los factores de Atwater: gramos = kcal / 4 para las proteínas, kcal / 4 para los carbohidratos y kcal / 9 para las grasas.

Porcentajes, valores por defecto y la regla de sumar 100

Las tres porciones deben sumar 100 con una tolerancia de 1e-9; si no lo hacen, la llamada falla con el mensaje de que los porcentajes deben sumar 100. Esa tolerancia es deliberadamente estrecha, de modo que 30/40/30 pasa pero 30/40/29 se rechaza en lugar de reescalarse en silencio. calories en sí debe ser un número finito estrictamente mayor que cero. protein_percent es 30 por defecto, carb_percent 40 y fat_percent 30, de modo que pasar solo calories devuelve un reparto equilibrado. Cada porcentaje debe ser un número finito entre 0 y 100 inclusive, comprobado campo a campo, y un valor fuera de rango lanza invalid_input nombrando ese campo.

Redondeo y las seis salidas numéricas

El parámetro opcional decimals tiene un valor por defecto de 1 y debe ser un entero de 0 a 2; cualquier otra cosa lanza invalid_input. Como los gramos y las kcal se redondean por separado, protein_g por 4 no siempre volverá a dar el protein_kcal redondeado; ambas cifras proceden del valor de energía sin redondear. Tras el redondeo, cada campo numérico se vuelve a comprobar por finitud y un resultado no finito lanza invalid_input, de modo que la salida es siempre un objeto JSON limpio y completo con los seis números de macros presentes.

Herramientas de preparación de comidas y coaching

Genere objetivos de proteínas, carbohidratos y grasas para muchos clientes a la vez mediante la API, cada uno con su propio reparto por porcentaje.

Contenido y calculadoras de fitness

Incruste el widget gratuito para que los visitantes experimenten con proporciones como 40/40/20 y vean actualizarse los gramos de forma determinista.

¿Qué factores de calorías por gramo se usan?

4 kcal por gramo para proteínas y carbohidratos y 9 kcal por gramo para grasas, la conversión estándar de Atwater aplicada en lib.js.

¿Los porcentajes tienen que sumar 100?

Sí. protein_percent, carb_percent y fat_percent deben sumar 100 con una tolerancia de 1e-9 o la llamada devuelve un error invalid_input.

¿Es gratuito y cuánto cuesta la API?

El widget del navegador es gratuito (tier A) y ejecuta el mismo núcleo; las llamadas a la API se facturan por solicitud correcta desde $0.002.

Ver la documentación completa del KIT →