Makro-Rechner
Teilen Sie ein tägliches Kalorienziel auf Eiweiß, Kohlenhydrate und Fett auf: 2000 kcal bei 30/40/30 ergeben 150 g Eiweiß, 200 g Kohlenhydrate und 66,7 g Fett. Wählen Sie eigene Prozentwerte, solange sie zusammen 100 ergeben. Kostenlos in Ihrem Browser.
- Kostenlos
- Läuft in Ihrem Browser
- Ohne Anmeldung
- Ihre Daten bleiben auf Ihrem Gerät
Im Browser ausführen – kostenlos
Rechenbeispiel
- Tägliche Kalorien
- 2.000
- Eiweiß (%)
- 30
- Kohlenhydrate (%)
- 40
- Fett (%)
- 30
- Eiweiß (g)
- 150
Teilt eine tägliche Gesamtkalorienzahl in Protein, Kohlenhydrate und Fett auf und liefert für jedes aus Prozenteingaben Gramm und kcal, mit 4 kcal/g für Protein und Kohlenhydrate und 9 kcal/g für Fett.
In zwei Schritten von Kalorien zu Gramm
Ein Makroplan beginnt mit einer Zahl, Ihrem täglichen Kalorienziel, und drei Anteilen, die festlegen, wie viel davon aus Eiweiß, Kohlenhydraten und Fett stammt. Zuerst wird jeder Anteil auf die Summe angewendet: Bei 2000 kcal und der Standardaufteilung von 30, 40 und 30 Prozent ergeben sich 600 kcal Eiweiß, 800 Kohlenhydrate und 600 Fett. Danach wird Energie mit den üblichen Faktoren in Gewicht umgerechnet: 4 kcal pro Gramm für Eiweiß und Kohlenhydrate, 9 kcal pro Gramm für Fett. Das Ergebnis sind 150 g Eiweiß, 200 g Kohlenhydrate und 66,7 g Fett.
Typische Fehler beim Aufteilen
Alle Anteile durch 4 zu teilen, ist der klassische Fehler: Fett liefert pro Gramm mehr als doppelt so viel Energie, wer es wie Eiweiß behandelt, überschätzt die Gramm. Ein weiterer Fehler sind Prozentwerte, die nicht genau 100 ergeben; sie werden hier abgelehnt statt still gestreckt, damit sich kein Tippfehler im Plan versteckt. Jeder Anteil muss zwischen 0 und 100 liegen, das Kalorienziel über null. Die Ergebnisse werden standardmäßig auf eine Dezimalstelle gerundet, Sie können zwischen null und zwei wählen.
Wie die Aufteilung berechnet wird
Mit den Standardwerten 30/40/30 bei einem Ziel von 2000 kcal ergibt dies 600, 800 und 600 kcal, was zu 150 g Protein, 200 g Kohlenhydraten und 66.7 g Fett wird und genau dem ausgelieferten Beispiel entspricht. Die Antwort gibt die Gesamtkalorienzahl und die drei Prozentsätze wieder, sodass ein Aufrufer den vollständigen Makroplan aus einer einzigen Anfrage speichern kann, ohne clientseitig etwas neu zu berechnen.
Prozentsätze, Standardwerte und die Summe-100-Regel
Die drei Anteile müssen sich innerhalb einer Toleranz von 1e-9 zu 100 summieren; tun sie es nicht, schlägt der Aufruf mit der Meldung fehl, dass die Prozentsätze in der Summe 100 ergeben müssen. Diese Toleranz ist bewusst eng, sodass 30/40/30 durchgeht, 30/40/29 jedoch abgewiesen und nicht stillschweigend neu skaliert wird. calories selbst muss eine endliche Zahl echt größer als null sein. Da jeder Zweig deterministisch ist, liefern dieselben Eingaben stets dieselben Gramm und kcal, was die Ergebnisse sicher zum Zwischenspeichern oder zur Wiederverwendung als Regressionsvorlagen macht.
Anwendungsfälle
Ernährungs- und Diät-Apps
Verwandeln Sie das Kalorienziel und das gewählte Makroverhältnis eines Nutzers in einen grammgenauen Tagesplan, ohne die Formel in den Client auszuliefern.
Häufige Fragen
Was passiert, wenn ich nur calories sende?
Es verwendet die Standardaufteilung 30 % Protein, 40 % Kohlenhydrate und 30 % Fett, sodass ein einzelner calories-Wert eine vollständige Makroaufschlüsselung liefert.
Warum ergibt Gramm mal vier nicht genau die kcal?
Gramm und kcal werden jeweils unabhängig vom ungerundeten Energiewert gerundet, sodass ihre gerundeten Formen sich bewusst geringfügig unterscheiden können.
Wie berechne ich die Gramm Eiweiß aus den Kalorien?
Multiplizieren Sie das Kalorienziel mit dem Eiweißanteil und teilen Sie durch 4, die Energie pro Gramm. Bei 2000 kcal und 30 Prozent Eiweiß sind das 600 kcal, also 150 g Eiweiß am Tag.
Warum wird Fett durch 9 und nicht durch 4 geteilt?
Weil jedes Gramm Fett 9 kcal liefert, Eiweiß und Kohlenhydrate dagegen 4. Deshalb sind 600 kcal aus Fett nur 66,7 g, während dieselbe Energie aus Eiweiß 150 g ausmacht.
Was passiert, wenn meine Prozentwerte nicht 100 ergeben?
Die Aufteilung wird abgelehnt, statt still umgerechnet zu werden. Eine Kombination wie 30, 40 und 29 scheitert, also passen Sie einen der Anteile an, bis alle drei genau 100 ergeben, und versuchen Sie es erneut.
Verwandte Tools
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/dev/macro-calculator \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"calories":2000}'const res = await fetch("https://api.kit.forhosting.com/dev/macro-calculator", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"calories": 2000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/dev/macro-calculator",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"calories": 2000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/dev/macro-calculator", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"calories":2000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"calories":2000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/dev/macro-calculator", 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
}Beispiel-Antwort
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "dev.macro_calculator",
"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. |
Technische Hinweise
Wie die Aufteilung berechnet wird
Es multipliziert calories mit jedem Prozentsatz über 100, um protein_kcal, carb_kcal und fat_kcal zu erhalten, und wandelt dann Energie in Masse um, mithilfe der Atwater-Faktoren: grams = kcal / 4 für Protein, kcal / 4 für Kohlenhydrate und kcal / 9 für Fett.
Prozentsätze, Standardwerte und die Summe-100-Regel
protein_percent ist standardmäßig 30, carb_percent 40 und fat_percent 30, sodass die Übergabe nur von calories eine ausgewogene Aufteilung liefert. Jeder Prozentsatz muss eine endliche Zahl zwischen 0 und 100 einschließlich sein, Feld für Feld geprüft, und ein Wert außerhalb des Bereichs löst invalid_input aus und benennt dieses Feld.
Rundung und die sechs numerischen Ausgaben
Der optionale Parameter decimals ist standardmäßig 1 und muss eine Ganzzahl von 0 bis 2 sein; alles andere löst invalid_input aus. Da Gramm und kcal getrennt gerundet werden, ergibt protein_g mal 4 nicht immer wieder das gerundete protein_kcal; beide Zahlen stammen aus dem ungerundeten Energiewert. Nach der Rundung wird jedes numerische Feld erneut auf Endlichkeit geprüft, und ein nicht endliches Ergebnis löst invalid_input aus, sodass die Ausgabe stets ein sauberes, vollständig ausgefülltes JSON-Objekt mit allen sechs Makrozahlen ist.
Integrationsbeispiele
Meal-Prep- und Coaching-Werkzeuge
Erzeugen Sie über die API Protein-, Kohlenhydrat- und Fettziele für viele Klienten zugleich, jeweils mit ihrer eigenen prozentualen Aufteilung.
Fitness-Inhalte und Rechner
Betten Sie das kostenlose Widget ein, damit Besucher mit Verhältnissen wie 40/40/20 experimentieren und die Gramm deterministisch aktualisiert sehen können.
Technische Fragen
Welche Kalorien-pro-Gramm-Faktoren werden verwendet?
4 kcal pro Gramm für Protein und Kohlenhydrate und 9 kcal pro Gramm für Fett, die in lib.js angewandte Standard-Atwater-Umrechnung.
Müssen die Prozentsätze in der Summe 100 ergeben?
Ja. protein_percent, carb_percent und fat_percent müssen sich innerhalb von 1e-9 zu 100 summieren, andernfalls gibt der Aufruf einen invalid_input-Fehler zurück.
Ist es kostenlos und was kostet das API?
Das Browser-Widget ist kostenlos (tier A) und führt denselben Kern aus; API-Aufrufe werden pro erfolgreicher Anfrage ab $0.002 berechnet.