Calcule macros em gramas por calorias e percentuais
Esta calculadora de divisão de macronutrientes transforma uma meta diária de calorias e três percentuais em objetivos práticos, em gramas, para proteínas, carboidratos e gorduras.
Executar grátis
Ela usa os fatores energéticos padrão: quatro calorias por grama de proteína, quatro por grama de carboidrato e nove por grama de gordura. A calculadora confere todos os valores e rejeita divisões cujos percentuais não totalizem 100. Assim, atende planos nutricionais, rotinas de orientação, planilhas de refeições e aplicativos de condicionamento físico que precisam de resultados claros e repetíveis, sem ajustes ocultos na proporção informada.
Informe uma meta completa baseada em calorias
Comece pelo total de calorias planejado para um dia e informe a parcela destinada a proteínas, carboidratos e gorduras. Cada parcela é um percentual da energia, não do peso dos alimentos nem uma quantidade em gramas. Por exemplo, uma meta de 30 por cento de proteína significa que essa fração do orçamento calórico diário virá das proteínas. Os quatro campos são obrigatórios para que o cálculo seja explícito e reproduzível. As calorias precisam ser um número finito maior que zero. Cada percentual deve ser um número finito de zero a 100, inclusive; por isso, um plano pode atribuir deliberadamente zero a um macronutriente, mas valores negativos ou impossíveis são recusados. Digite apenas números, sem o sinal de percentual ou unidades de calorias. A resposta repete a quantidade aceita e apresenta a divisão completa junto aos gramas calculados, permitindo registrar exatamente quais premissas geraram o resultado. Esta capacidade não escolhe uma meta ou proporção adequada para uma pessoa; ela executa a aritmética dos valores que você já definiu.
Entenda a conversão de calorias em gramas
Primeiro, o cálculo distribui as calorias diárias entre os macronutrientes. O total é multiplicado pelo percentual de cada macro e dividido por 100. Em seguida, a energia atribuída vira gramas com quatro quilocalorias por grama de proteína, quatro por grama de carboidrato e nove por grama de gordura. Considere 2,000 calorias divididas em 30 por cento de proteína, 40 por cento de carboidratos e 30 por cento de gorduras. A proteína recebe 600 calorias e resulta em 150 gramas. Os carboidratos recebem 800 calorias e resultam em 200 gramas. A gordura recebe 600 calorias e resulta em cerca de 66.666667 gramas, pois fornece mais energia por grama. Os resultados usam no máximo seis casas decimais, evitando ruído de ponto flutuante sem perder precisão útil. O algoritmo não acessa rede, aleatoriedade, estado salvo ou horário atual. Portanto, a mesma entrada JSON sempre produz a mesma saída JSON, algo útil para sistemas automatizados, testes, planilhas e serviços que exigem consistência.
Corrija a soma dos percentuais antes de calcular
Os percentuais de proteínas, carboidratos e gorduras precisam totalizar 100, pois juntos representam todo o orçamento calórico. Uma soma de 95 deixa cinco por cento sem destino; uma soma de 110 aloca mais energia que a meta declarada. Em vez de normalizar ou alterar esses valores silenciosamente, a capacidade retorna um erro de entrada inválida explicando que a soma deve ser 100. Essa regra rigorosa revela erros de digitação e impede um resultado aparentemente confiável baseado em premissas que você não aprovou. Uma tolerância minúscula serve apenas para a representação comum de ponto flutuante, não para aceitar proporções realmente incompletas. Se houver erro, revise os três percentuais, e não o total de calorias, porque a regra trata da proporção. Uma resposta válida agrupa os percentuais originais e os gramas calculados, facilitando a exibição conjunta. Trate os valores como metas de planejamento, não como medições nutricionais: rótulos, receitas, arredondamentos, fibras, álcool e necessidades individuais devem ser considerados pelo fluxo nutricional ao redor deste cálculo.
Casos de uso
Monte uma meta diária de refeições
Converta uma meta calórica e uma proporção já definidas em gramas que orientem receitas e porções.
Valide cálculos de orientação
Confira se a divisão proposta está completa antes de salvar objetivos calculados para uma pessoa atendida.
Alimente um aplicativo fitness
Gere gramas determinísticos sem repetir regras de conversão em diversos clientes e serviços.
Perguntas frequentes
Os percentuais precisam totalizar 100?
Sim. O cálculo retorna um erro de entrada inválida quando proteínas, carboidratos e gorduras não totalizam 100.
Como as calorias são convertidas em gramas?
As calorias de proteínas e carboidratos são divididas por quatro; as de gorduras, por nove.
Um macronutriente pode receber zero por cento?
Sim. Cada percentual pode variar de zero a 100, desde que a soma dos três permaneça 100.
A calculadora recomenda uma proporção?
Não. Ela calcula gramas com as metas informadas por você e não oferece orientação médica ou alimentar.
Quanto custa uma solicitação API?
O preço-base publicado é US$ 0,002 por solicitação. A experiência no navegador pode usar o mesmo cálculo determinístico.
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/calc2/macro-split-calculate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"calories":2000,"protein_percent":30,"carb_percent":40,"fat_percent":30}'const res = await fetch("https://api.kit.forhosting.com/calc2/macro-split-calculate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"calories": 2000,
"protein_percent": 30,
"carb_percent": 40,
"fat_percent": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/calc2/macro-split-calculate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"calories": 2000,
"protein_percent": 30,
"carb_percent": 40,
"fat_percent": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/calc2/macro-split-calculate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"calories":2000,"protein_percent":30,"carb_percent":40,"fat_percent":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"calories":2000,"protein_percent":30,"carb_percent":40,"fat_percent":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/calc2/macro-split-calculate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"calories": 2000,
"protein_percent": 30,
"carb_percent": 40,
"fat_percent": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.macro_split_calculate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |