Makros in Gramm aus Kalorien und Prozenten berechnen
Dieser Rechner für die Makronährstoffverteilung wandelt ein tägliches Kalorienziel und drei Prozentwerte in praktische Grammziele für Protein, Kohlenhydrate und Fett um.
Im Browser ausführen – kostenlos
Er verwendet die üblichen Energiefaktoren: vier Kalorien je Gramm Protein, vier je Gramm Kohlenhydrate und neun je Gramm Fett. Der Rechner prüft jeden Wert und weist eine Verteilung zurück, wenn die Anteile nicht 100 ergeben. Damit eignet er sich für Ernährungspläne, Beratungsabläufe, Tabellen zur Essensplanung und Fitnessanwendungen, die ein klares, wiederholbares Ergebnis ohne stillschweigende Anpassung benötigen.
Geben Sie ein vollständiges Kalorienziel ein
Beginnen Sie mit der gesamten Kalorienmenge für einen Tag und geben Sie anschließend den Anteil für Protein, Kohlenhydrate und Fett an. Jeder Anteil bezieht sich auf die Energie, nicht auf das Gewicht der Lebensmittel und nicht auf eine Grammmenge. Ein Proteinziel von 30 Prozent bedeutet beispielsweise, dass dieser Teil des täglichen Kalorienbudgets aus Protein stammt. Alle vier Angaben sind erforderlich, damit die Berechnung eindeutig und reproduzierbar bleibt. Die Kalorien müssen eine endliche Zahl größer als null sein. Jeder Prozentsatz muss eine endliche Zahl von null bis einschließlich 100 sein. Ein Plan kann einem Makronährstoff daher bewusst null zuweisen, negative oder unmögliche Anteile werden jedoch abgelehnt. Tragen Sie Zahlen ohne Prozentzeichen oder Kalorieneinheit ein. Die Antwort wiederholt die akzeptierte Kalorienmenge und liefert die vollständige Verteilung zusammen mit den berechneten Grammwerten. So lässt sich genau speichern, welche Annahmen zum Ergebnis geführt haben. Diese Fähigkeit bestimmt nicht, welches Kalorienziel oder Verhältnis für eine Person geeignet ist; sie führt nur die Rechnung mit den von Ihnen bereits gewählten Vorgaben aus.
Verstehen Sie die Umrechnung in Gramm
Zuerst werden die täglichen Kalorien den drei Makronährstoffen zugeordnet. Dazu wird die Gesamtsumme mit dem jeweiligen Prozentsatz multipliziert und durch 100 geteilt. Anschließend wird die zugeteilte Energie mit vier Kilokalorien je Gramm Protein, vier je Gramm Kohlenhydrate und neun je Gramm Fett in Masse umgerechnet. Bei 2,000 Kalorien und einer Verteilung von 30 Prozent Protein, 40 Prozent Kohlenhydraten und 30 Prozent Fett entfallen 600 Kalorien auf Protein, also 150 Gramm. Kohlenhydrate erhalten 800 Kalorien beziehungsweise 200 Gramm. Fett erhält 600 Kalorien beziehungsweise ungefähr 66.666667 Gramm, da es pro Gramm mehr Energie liefert. Ergebnisse werden auf höchstens sechs Nachkommastellen gerundet, um störende Gleitkommaartefakte zu vermeiden und dennoch sinnvolle Genauigkeit zu bewahren. Der Algorithmus verwendet weder Netzwerk noch Zufall, gespeicherten Zustand oder aktuelle Uhrzeit. Dieselbe JSON-Eingabe erzeugt deshalb stets dieselbe JSON-Ausgabe, was zuverlässige Automatisierungen, Tests, Tabellen und Dienste ermöglicht.
Korrigieren Sie zuerst die Prozentsumme
Die Anteile von Protein, Kohlenhydraten und Fett müssen zusammen 100 ergeben, weil sie das gesamte Kalorienbudget beschreiben. Bei 95 bleiben fünf Prozent ohne Zuordnung; bei 110 wird mehr Energie verteilt als im Ziel angegeben. Statt solche Werte unbemerkt zu normalisieren oder umzuschreiben, liefert die Fähigkeit einen Fehler für ungültige Eingaben mit dem Hinweis, dass die Summe 100 betragen muss. Dieses strenge Verhalten deckt Eingabefehler auf und verhindert scheinbar verlässliche Ergebnisse auf Grundlage von Annahmen, die Sie nicht bestätigt haben. Eine winzige Toleranz dient nur der üblichen Gleitkommadarstellung und akzeptiert keine tatsächlich unvollständigen Verhältnisse. Prüfen Sie bei einem Fehler alle drei Prozentfelder, nicht die Kalorienmenge, denn die Regel betrifft das Verhältnis. Eine erfolgreiche Antwort gruppiert die ursprünglichen Anteile und die berechneten Grammwerte, sodass nachgelagerte Systeme beides gemeinsam anzeigen können. Behandeln Sie die Werte als Planungsziele, nicht als klinische Messungen: Etiketten, Rezepte, Rundungen, Ballaststoffe, Alkohol und individuelle Bedürfnisse gehören in den umgebenden Ernährungsablauf.
Anwendungsfälle
Tägliches Ernährungsziel vorbereiten
Wandeln Sie ein festgelegtes Kalorienziel und Verhältnis in Grammvorgaben für Rezepte und Portionen um.
Berechnungen eines Plans prüfen
Stellen Sie vor dem Speichern sicher, dass die vorgeschlagene Verteilung vollständig ist.
Eine Fitnessanwendung versorgen
Erzeugen Sie reproduzierbare Grammwerte, ohne Umrechnungsregeln in mehreren Clients und Diensten zu duplizieren.
Häufige Fragen
Müssen die Prozentwerte zusammen 100 ergeben?
Ja. Sind Protein, Kohlenhydrate und Fett zusammen nicht 100, wird ein Fehler für ungültige Eingaben zurückgegeben.
Wie werden Kalorien in Gramm umgerechnet?
Protein- und Kohlenhydratkalorien werden durch vier geteilt, Fettkalorien dagegen durch neun.
Darf ein Makronährstoff null Prozent erhalten?
Ja. Jeder Anteil darf zwischen null und 100 liegen, solange die Summe aller drei weiterhin 100 beträgt.
Empfiehlt der Rechner ein Verhältnis?
Nein. Er berechnet Gramm aus Ihren Vorgaben und gibt keine medizinische oder ernährungsbezogene Beratung.
Was kostet eine API-Anfrage?
Der veröffentlichte Grundpreis beträgt $0.002 je Anfrage. Im Browser kann dieselbe deterministische Berechnung verwendet werden.
Für Entwickler — API-Zugang
Alles auf dieser Seite ist auch per API verfügbar. Dieser Abschnitt richtet sich an Teams, die es in ihre eigenen Systeme einbinden möchten; alle anderen nutzen einfach das Tool oben.
Endpunkt
Authentifizierung per Bearer-Token. Ein einziger POST stellt die Aufgabe in die Warteschlange; das Ergebnis erhalten Sie per Webhook oder über einen signierten Link.
Aufruf aus Ihrem Stack
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)Beispiel-Anfrage
{
"calories": 2000,
"protein_percent": 30,
"carb_percent": 40,
"fat_percent": 30
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "calc2.macro_split_calculate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}Die API arbeitet asynchron: Sie erhalten sofort eine task_id. Polling ist mit 1 Anfrage pro Sekunde erlaubt.
Preis
Der Preis steht auf der Seite – keine Tokens, keine Credits. Fehlgeschlagene Aufgaben werden nicht berechnet.
Fehler
| HTTP | Code | Bedeutung |
|---|---|---|
401 | unauthorized | Der API-Schlüssel fehlt oder ist ungültig – prüfen Sie den Authorization-Header (Bearer). |
402 | insufficient_balance | Ihr Guthaben reicht für diese Aufgabe nicht aus – Aufladungen verfallen nicht. |
404 | unknown_type | Unbekannter Aufgabentyp – prüfen Sie das Feld „type“ gegen den Katalog. |
429 | rate_limited | Zu viele Anfragen – warten Sie kurz; Polling ist mit 1 Anfrage pro Sekunde erlaubt. |