Divisão de macros por calorias: proteína, carboidrato e gordura
Esta calculadora de divisão de macros transforma uma meta diária de energia em objetivos práticos, em gramas, de proteína, carboidrato e gordura.
Executar grátis
Informe as calorias e qualquer proporção positiva de três partes, como 30:40:30 ou 3:4:3. A ferramenta normaliza os valores e aplica quatro calorias por grama de proteína e carboidrato, além de nove por grama de gordura. O cálculo funciona totalmente offline, é determinístico e se destina ao planejamento, não ao diagnóstico médico nem ao tratamento nutricional individualizado.
Escolha uma meta calórica e uma proporção útil
Comece com a meta diária de calorias que você já escolheu e informe pesos positivos para proteína, carboidrato e gordura. Eles não precisam ser percentuais nem somar 100. A proporção 30:40:30 gera a mesma divisão que 3:4:3, pois a calculadora divide cada peso pela soma dos três. Assim, você pode aproveitar uma proporção de um plano alimentar sem convertê-la manualmente. As quatro entradas devem ser números finitos maiores que zero. Zero, números negativos, campos ausentes, textos numéricos, infinito e valores não numéricos são rejeitados, em vez de serem corrigidos por suposição. Essa validação rigorosa ajuda fluxos automatizados a identificar dados incorretos cedo. Metas calóricas e proporções de macros são premissas de planejamento, não recomendações universais. Volume de treino, condições de saúde, medicamentos, gravidez, alergias e objetivos clínicos podem mudar o que é adequado. Procure orientação qualificada quando esses fatores forem relevantes. A ferramenta apenas executa a aritmética solicitada; ela não escolhe a meta ou a proporção apropriada para uma pessoa.
Entenda como as calorias viram gramas
Primeiro, a calculadora normaliza cada peso da proporção como uma porcentagem do total. Em seguida, distribui a meta calórica diária entre essas parcelas. As calorias de proteína e carboidrato são divididas por quatro, e as de gordura são divididas por nove. Por exemplo, 600 calorias destinadas à proteína correspondem a 150 gramas. O resultado inclui a porcentagem normalizada, a parcela de calorias e a meta em gramas de cada macro, com valores exibidos em duas casas decimais. Os cálculos usam resultados intermediários não arredondados, evitando que o arredondamento visual distorça os totais. Caso valores decimais sejam inconvenientes no planejamento cotidiano, você pode arredondá-los para gramas inteiros, sabendo que o total calórico reconstruído poderá variar um pouco. Rótulos de alimentos também seguem regras de arredondamento, e alguns produtos contêm fibras, álcool ou outros componentes. Portanto, um cardápio registrado pode não reproduzir exatamente o total teórico. Considere o resultado uma referência consistente de planejamento, não uma medição laboratorial da energia dos alimentos.
Use o resultado em um fluxo repetível
Aplique as metas em gramas a um modelo de refeições, uma lista de compras, um diário nutricional ou uma planilha de acompanhamento. Ao dividir as metas entre refeições, escolha o padrão que favoreça a adesão; a calculadora não exige refeições iguais nem prescreve horários. Para comparar proporções alternativas, mantenha as calorias fixas e altere apenas os três pesos. Guarde as entradas originais junto da saída, pois uma meta em gramas sem a respectiva meta calórica e proporção perde contexto. A mesma entrada sempre gera o mesmo resultado: não existem chamadas de rede, aleatoriedade, perfil armazenado ou lógica dependente da data. Isso torna a capacidade adequada para planilhas, testes, rotinas programadas e aplicativos que precisam de resultados reproduzíveis. Entradas inválidas ou não positivas geram um erro explícito, permitindo que você solicite correções antes de usar os números. Recalcule quando a meta original mudar. Para decisões de saúde, sobretudo alterações intensas de peso ou controle de doenças, revise o plano com nutricionista ou outro profissional qualificado.
Casos de uso
Montar um modelo diário de refeições
Transforme uma meta calórica definida e uma proporção preferida em objetivos de gramas para distribuir entre as refeições.
Comparar cenários de proporção
Mantenha as calorias constantes e compare como pesos positivos diferentes alteram os gramas de cada macronutriente.
Automatizar planilhas de planejamento
Gere metas determinísticas para planilhas, formulários de acompanhamento ou aplicativos sem depender da rede.
Perguntas frequentes
A proporção precisa somar 100?
Não. Quaisquer três pesos positivos são normalizados pela soma; portanto, 3:4:3 e 30:40:30 são equivalentes.
Como são calculados os gramas de macros?
As calorias destinadas à proteína e ao carboidrato são divididas por quatro, e as destinadas à gordura, por nove.
Por que as calorias do diário alimentar podem ser diferentes?
Rótulos e aplicativos podem arredondar valores ou tratar componentes como fibras e álcool de modo diferente da conversão teórica.
Esta calculadora recomenda uma dieta?
Não. Ela converte a meta e a proporção que você informa, sem avaliar se essas escolhas são adequadas do ponto de vista médico ou nutricional.
Quanto custa o cálculo pela API?
Cada solicitação à API custa US$ 0,002. O cálculo funciona totalmente offline e é 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/health/macro-split-from-cal \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"calories":2000,"protein_ratio":30,"carbohydrate_ratio":40,"fat_ratio":30}'const res = await fetch("https://api.kit.forhosting.com/health/macro-split-from-cal", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"calories": 2000,
"protein_ratio": 30,
"carbohydrate_ratio": 40,
"fat_ratio": 30
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/macro-split-from-cal",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"calories": 2000,
"protein_ratio": 30,
"carbohydrate_ratio": 40,
"fat_ratio": 30
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/macro-split-from-cal", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"calories":2000,"protein_ratio":30,"carbohydrate_ratio":40,"fat_ratio":30}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"calories":2000,"protein_ratio":30,"carbohydrate_ratio":40,"fat_ratio":30}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/macro-split-from-cal", 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_ratio": 30,
"carbohydrate_ratio": 40,
"fat_ratio": 30
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.macro_split_from_cal",
"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. |