Daily calorie tracker
Log breakfast, lunch and dinner entries with portion multipliers, then total the day’s calories and the protein/carb/fat split using a built-in sample food table — integer maths, percentages that add up to exactly 100.0%.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Meals
Sample data, reference only: the calorie and nutrient values come from public food composition tables and vary a lot between brands and cooking methods. They are a rough estimate, not nutritionist advice.
Breakfast
For example 15 means 1.5 servings, i.e. 150 g.
No entries yet.
Lunch
For example 15 means 1.5 servings, i.e. 150 g.
No entries yet.
Dinner
For example 15 means 1.5 servings, i.e. 150 g.
No entries yet.
Day total
Breakfast: 0 kcal Lunch: 0 kcal Dinner: 0 kcal Total: 0 kcal Protein: 0.0 g · 0.0% Carbs: 0.0 g · 0.0% Fat: 0.0 g · 0.0%
Everything runs locally in the browser: values use integer fixed-point maths (calories rounded, nutrients kept to 0.1 g) and the shares are distributed with the largest remainder method so they add up to exactly 100.0%.
What this tool does
- Jot down what you ate and see the day’s calories plus the macro split in the evening — far better than guessing whether you overate.
- Check your protein while cutting or bulking: add chicken breast, eggs and tofu with portion multipliers and the gram totals appear immediately.
- Estimate a takeaway meal by picking a similar food from the sample table, for example 10 (100 g) for one instant noodle pack.
- Copy the result text — meal breakdown and totals together — when you need to send it to a coach or a friend.
Example
Input
Add “Cooked white rice” to lunch with portion 15 (150 g), leaving the other meals empty
Output
Lunch: 174 kcal; total: 174 kcal; protein: 3.9 g · 8.9%; carbs: 38.9 g · 88.5%; fat: 0.5 g · 2.6%
174 kcal = 116 kcal per 100 g × 1.5. Shares use the 4/4/9 kcal per gram energy factors and the largest remainder method, so they add up to exactly 100.0%.
Frequently asked questions
How accurate is the food table?
The numbers are public approximations from food composition tables and are labelled “sample data, reference only”. The same dish can differ by tens of percent depending on oil, cooking method and brand, so treat them as an order-of-magnitude estimate.
Why is the portion multiplier expressed in tenths?
Entering 10 means one serving (100 g) and 15 means 1.5 servings (150 g). Internally the multiplier is stored as an integer ×10, so 1.5 servings never produces floating point tails like 0.30000000000000004.
Why do the three percentages add up to exactly 100.0%?
Plain rounding often leaves you at 99.9% or 100.1%. Here 1000 slots of 0.1% are distributed across protein, carbs and fat in proportion to energy using the largest remainder method, then converted to percentages, so the sum is always 100.0%.
How are calories rounded?
Each entry is scaled by its portion and rounded to whole kcal, while nutrients keep 0.1 g (stored internally as grams ×10). Totals are plain integer additions with no re-rounding, so the parts always add up to the total.
Is my log stored anywhere?
No. Entries live in page memory only, a refresh clears them, and the page makes no requests. Use the copy button in the result area if you want to keep the text.
Keywords:calorie trackerfood caloriesmacro calculatordaily intakediet log热量记录卡路里每日摄入宏量营养素三餐记录