Calculadora de Macros
Utiliza nuestra calculadora de macros para determinar tus necesidades diarias de proteínas, carbohidratos y grasas, adaptadas a tu peso, altura, edad, género, nivel de actividad y objetivo de fitness.
Tus Macros Diarios Estimados:
Calorías Totales: kcal
Estos son valores estimados. Consulta a un profesional de la salud o nutricionista para un plan personalizado.
Por favor, introduce valores válidos para todos los campos.
.macro-calculator-container {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
max-width: 700px;
margin: 20px auto;
padding: 25px;
border: 1px solid #e0e0e0;
border-radius: 10px;
background-color: #ffffff;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
color: #333;
}
.macro-calculator-container h2 {
text-align: center;
color: #2c3e50;
margin-bottom: 20px;
font-size: 1.8em;
}
.macro-calculator-container p {
line-height: 1.6;
margin-bottom: 15px;
color: #555;
}
.calculator-form .form-group {
margin-bottom: 18px;
display: flex;
flex-direction: column;
}
.calculator-form label {
font-weight: bold;
margin-bottom: 8px;
color: #444;
font-size: 0.95em;
}
.calculator-form input[type="number"],
.calculator-form select {
width: 100%;
padding: 10px 12px;
border: 1px solid #ccc;
border-radius: 6px;
box-sizing: border-box;
font-size: 1em;
color: #333;
background-color: #f9f9f9;
transition: border-color 0.3s ease;
}
.calculator-form input[type="number"]:focus,
.calculator-form select:focus {
border-color: #007bff;
outline: none;
box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}
.calculator-form input[type="radio"] {
margin-right: 5px;
margin-left: 15px;
}
.calculator-form input[type="radio"] + label {
display: inline-block;
font-weight: normal;
margin-bottom: 0;
margin-right: 15px;
}
.calculator-form button {
display: block;
width: 100%;
padding: 12px 20px;
background-color: #007bff;
color: white;
border: none;
border-radius: 6px;
font-size: 1.1em;
font-weight: bold;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
margin-top: 20px;
}
.calculator-form button:hover {
background-color: #0056b3;
transform: translateY(-2px);
}
.calculator-results {
margin-top: 30px;
padding: 20px;
border: 1px solid #d4edda;
border-radius: 8px;
background-color: #e9f7ef;
text-align: center;
box-shadow: 0 2px 8px rgba(0, 123, 255, 0.1);
}
.calculator-results h3 {
color: #28a745;
margin-bottom: 15px;
font-size: 1.5em;
}
.calculator-results p {
font-size: 1.1em;
margin-bottom: 10px;
color: #333;
}
.calculator-results strong {
color: #0056b3;
}
.macro-breakdown {
display: flex;
justify-content: space-around;
margin-top: 20px;
flex-wrap: wrap;
}
.macro-item {
flex: 1;
min-width: 120px;
margin: 10px;
padding: 15px;
background-color: #ffffff;
border: 1px solid #c3e6cb;
border-radius: 8px;
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
.macro-item h4 {
color: #28a745;
margin-bottom: 8px;
font-size: 1.2em;
}
.macro-item p {
font-size: 1.1em;
font-weight: bold;
color: #333;
}
.macro-item p:last-child {
font-size: 0.9em;
font-weight: normal;
color: #666;
}
.error-message {
margin-top: 20px;
padding: 15px;
background-color: #f8d7da;
color: #721c24;
border: 1px solid #f5c6cb;
border-radius: 8px;
text-align: center;
font-weight: bold;
}
.disclaimer {
font-size: 0.85em;
color: #777;
margin-top: 25px;
text-align: center;
}
function calculateMacros() {
var weightKg = parseFloat(document.getElementById('weightKg').value);
var heightCm = parseFloat(document.getElementById('heightCm').value);
var ageYears = parseFloat(document.getElementById('ageYears').value);
var gender = document.querySelector('input[name="gender"]:checked').value;
var activityLevel = document.getElementById('activityLevel').value;
var fitnessGoal = document.getElementById('fitnessGoal').value;
var errorMessageDiv = document.getElementById('errorMessage');
var macroResultsDiv = document.getElementById('macroResults');
// Input validation
if (isNaN(weightKg) || weightKg <= 0 ||
isNaN(heightCm) || heightCm <= 0 ||
isNaN(ageYears) || ageYears <= 0) {
errorMessageDiv.style.display = 'block';
macroResultsDiv.style.display = 'none';
return;
} else {
errorMessageDiv.style.display = 'none';
}
var bmr; // Basal Metabolic Rate
// Mifflin-St Jeor Equation for BMR
if (gender === 'male') {
bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * ageYears) + 5;
} else { // female
bmr = (10 * weightKg) + (6.25 * heightCm) – (5 * ageYears) – 161;
}
var activityFactor;
switch (activityLevel) {
case 'sedentary':
activityFactor = 1.2;
break;
case 'lightlyActive':
activityFactor = 1.375;
break;
case 'moderatelyActive':
activityFactor = 1.55;
break;
case 'veryActive':
activityFactor = 1.725;
break;
case 'extraActive':
activityFactor = 1.9;
break;
default:
activityFactor = 1.2; // Default to sedentary
}
var tdee = bmr * activityFactor; // Total Daily Energy Expenditure
var adjustedTDEE = tdee;
// Adjust TDEE based on fitness goal
switch (fitnessGoal) {
case 'lose':
adjustedTDEE = tdee * 0.80; // 20% calorie deficit
break;
case 'gain':
adjustedTDEE = tdee * 1.15; // 15% calorie surplus
break;
case 'maintain':
default:
// No adjustment needed for maintenance
break;
}
// Macronutrient distribution (common percentages)
var proteinPercentage = 0.30; // 30% of calories from protein
var fatPercentage = 0.25; // 25% of calories from fat
var carbsPercentage = 0.45; // 45% of calories from carbs (remaining)
// Calculate calories for each macro
var proteinCals = adjustedTDEE * proteinPercentage;
var fatCals = adjustedTDEE * fatPercentage;
var carbsCals = adjustedTDEE * carbsPercentage;
// Convert calories to grams
var proteinGrams = proteinCals / 4; // 4 kcal/gram for protein
var carbsGrams = carbsCals / 4; // 4 kcal/gram for carbohydrates
var fatsGrams = fatCals / 9; // 9 kcal/gram for fats
// Display results
document.getElementById('resultTDEE').innerText = Math.round(adjustedTDEE);
document.getElementById('resultProteinGrams').innerText = Math.round(proteinGrams);
document.getElementById('resultProteinCals').innerText = Math.round(proteinCals);
document.getElementById('resultCarbsGrams').innerText = Math.round(carbsGrams);
document.getElementById('resultCarbsCals').innerText = Math.round(carbsCals);
document.getElementById('resultFatsGrams').innerText = Math.round(fatsGrams);
document.getElementById('resultFatsCals').innerText = Math.round(fatCals);
macroResultsDiv.style.display = 'block';
}
¿Qué son los Macronutrientes (Macros)?
Los macronutrientes, comúnmente conocidos como "macros", son los nutrientes que nuestro cuerpo necesita en grandes cantidades para obtener energía, construir y reparar tejidos, y mantener las funciones corporales. Hay tres tipos principales de macronutrientes:
- Proteínas: Esenciales para el crecimiento y reparación muscular, la producción de enzimas y hormonas, y el mantenimiento de la estructura celular. Cada gramo de proteína aporta aproximadamente 4 calorías.
- Carbohidratos: La principal fuente de energía del cuerpo. Se descomponen en glucosa, que es utilizada por las células para funcionar. Cada gramo de carbohidratos aporta aproximadamente 4 calorías.
- Grasas: Cruciales para la absorción de vitaminas liposolubles, la producción de hormonas, la protección de órganos y el aislamiento térmico. Son la fuente de energía más densa, aportando aproximadamente 9 calorías por gramo.
¿Por qué es importante calcular tus Macros?
Calcular tus macros te permite tener un control preciso sobre tu ingesta nutricional, lo cual es fundamental para alcanzar objetivos específicos de fitness y salud, como:
- Pérdida de Peso: Un déficit calórico controlado, con una distribución adecuada de macros, ayuda a quemar grasa mientras se preserva la masa muscular.
- Ganancia Muscular: Un superávit calórico y una ingesta suficiente de proteínas son vitales para el crecimiento muscular.
- Mantenimiento de Peso: Consumir la cantidad correcta de calorías y macros ayuda a mantener tu peso actual y tu composición corporal.
- Mejora del Rendimiento Deportivo: Una nutrición optimizada puede potenciar tu energía, resistencia y recuperación.
¿Cómo funciona nuestra Calculadora de Macros?
Nuestra calculadora utiliza la fórmula de Mifflin-St Jeor para estimar tu Tasa Metabólica Basal (TMB), que es la cantidad de calorías que tu cuerpo quema en reposo. Luego, ajusta este valor según tu nivel de actividad física para determinar tu Gasto Energético Diario Total (GET), es decir, las calorías que quemas en un día normal.
Finalmente, basándose en tu objetivo (perder, mantener o ganar peso), la calculadora ajusta tu GET y distribuye las calorías resultantes en porcentajes estándar para proteínas, carbohidratos y grasas. Estos porcentajes son un punto de partida común:
- Proteínas: 30% de las calorías totales.
- Grasas: 25% de las calorías totales.
- Carbohidratos: 45% de las calorías totales.
Estos porcentajes pueden ser ajustados manualmente por un nutricionista o por ti mismo a medida que aprendes cómo responde tu cuerpo.
Consejos para Ajustar tus Macros
- Prioriza las Proteínas: Son cruciales para la saciedad y la preservación muscular, especialmente en fases de pérdida de peso.
- No Temas a las Grasas Saludables: Son vitales para la función hormonal y la salud general. Incluye fuentes como aguacate, frutos secos, semillas y aceite de oliva.
- Elige Carbohidratos Complejos: Opta por cereales integrales, frutas y verduras para obtener energía sostenida y fibra.
- Escucha a tu Cuerpo: Los números son una guía. Si te sientes con poca energía o demasiada hambre, ajusta tus macros gradualmente.
- Consulta a un Profesional: Para planes personalizados, especialmente si tienes condiciones de salud preexistentes, siempre es recomendable consultar a un nutricionista o dietista.