Daily fiber intake calculator
Turns your daily calories into a fiber target: a 35-year-old woman eating 2000 kcal gets 28 g a day, shown beside the 25 g Adequate Intake for her age and sex. Use it to set a gram goal for meal planning. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Age in whole years
- 35
- Sex
- female
- Calorie intake
- 2,000
- Calorie intake kcal
- 2,000 g/day
- Recommended fiber g
- 28
- Fiber from calories g
- 28
- Adequate intake g
- 25
Dietary fiber supports digestive regularity, gut microbiome diversity, and long-term cardiometabolic health, yet many adults fall short of public-health targets. This daily fiber intake calculator turns three simple inputs—age, sex, and daily calorie intake—into a clear gram-per-day recommendation using the widely cited energy density rule of fourteen grams of fiber for every one thousand kilocalories, while also reporting the age- and sex-specific Adequate Intake values that nutrition labels and textbooks quote. Non-positive calorie intake is rejected as invalid input because a zero or negative energy budget cannot define a fiber density target.
How the daily fiber target is worked out
The main figure scales with what you eat: daily calories are multiplied by 14 and divided by 1,000, the density rule widely cited in U.S. dietary guidance. At 2000 kcal that gives 28 g of fiber a day, and the target rises or falls with your energy intake. Next to it you see the Adequate Intake for your age and sex, the life-stage value quoted on nutrition labels and in textbooks; for a 35-year-old woman it is 25 g. Reading both shows whether a calorie-based goal sits above or below the usual reference.
When it is useful and what to avoid
Fiber supports digestive regularity, a diverse gut microbiome and long-term heart and metabolic health, yet many adults fall short of public-health targets. Coaches and meal planners use the gram target as a weekly goal and show the life-stage table for education. Enter your whole daily intake rather than a single meal, and your age in whole years from 1 to 120. Zero or negative calories are rejected, because an empty energy budget cannot define a fiber target.
What you can do with it
Coaching and meal planning
Coaches enter client age, sex, and daily calories to show a gram fiber target next to the life-stage Adequate Intake table for education and weekly meal targets.
FAQ
How is recommended daily fiber calculated?
Age and sex also select an Adequate Intake (AI) reference in grams per day.
What happens if calorie intake is zero or negative?
Non-positive calorie intake cannot define a fiber density target; failed validation is not charged.
Which sex values are accepted?
Use male or female (case-insensitive). Short forms m and f, and the words man or woman, are also accepted.
Is the daily fiber intake calculator free?
The browser tool runs free on your device.
Why does my result show two fiber numbers?
One follows your energy intake at 14 g per 1,000 kcal; the other is the Adequate Intake for your age and sex from a standard table. For a 35-year-old woman on 2000 kcal they are 28 g and 25 g.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/health/fiber-intake \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"age":35,"sex":"female","calorie_intake":2000}'const res = await fetch("https://api.kit.forhosting.com/health/fiber-intake", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"age": 35,
"sex": "female",
"calorie_intake": 2000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/fiber-intake",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"age": 35,
"sex": "female",
"calorie_intake": 2000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/fiber-intake", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"age":35,"sex":"female","calorie_intake":2000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"age":35,"sex":"female","calorie_intake":2000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/fiber-intake", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"age": 35,
"sex": "female",
"calorie_intake": 2000
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.fiber_intake",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
The path is pure deterministic arithmetic with no network calls and no random seed, so coaching apps, meal-planning tools, and prepaid API clients receive identical JSON every time.
What the calculator measures and which inputs you need
Recommended daily fiber is the amount of total dietary fiber, in grams, that public-health guidance associates with a given energy intake and life stage. The primary formula multiplies your daily calorie intake in kilocalories by fourteen and divides by one thousand, which is the Institute of Medicine style density used across U.S. Dietary Guidelines discussions of fiber adequacy. Missing fields, non-finite numbers, fractional ages, ages outside the published range, and unrecognized sex values also fail validation. Send age as a whole number of years between one and one hundred twenty; aliases age_years and years are accepted. Send sex as male or female, case-insensitive, with short forms m and f also accepted; aliases gender and sex_at_birth map to the same field. Send calorie_intake as a positive finite number in kilocalories per day; aliases calories, kcal, energy_kcal, and calorie_intake_kcal are accepted. The engine echoes the normalized age, sex, and calorie intake, then returns recommended_fiber_g from the energy formula, fiber_from_calories_g with the same value for explicit labeling, and adequate_intake_g from a standard age and sex Adequate Intake table used for life-stage comparison. If calorie intake is zero or negative the request fails with invalid_input and is not charged. Identical inputs always yield identical JSON because the algorithm never touches the network, a model, a clock, or a random generator.
Reading the response fields and common pitfalls
Do not treat either figure as a medical diagnosis: people with gastrointestinal disease, limited diets, or special clinical protocols need professional advice. Extremely large calorie intakes above the published isolate safety cap are rejected. On success the response includes age, sex, and calorie_intake_kcal as normalized echoes so clients can confirm what was computed. The headline number is recommended_fiber_g in grams per day, which is always the energy-based target calorie intake times fourteen over one thousand. The field fiber_from_calories_g repeats that energy-based value so dashboards can label density versus table sources without re-deriving math. The field adequate_intake_g is the life-stage Adequate Intake reference for total dietary fiber: for example nineteen grams for ages one through three, twenty-five grams for ages four through eight, then sex-specific values that rise in adolescence for males and settle near twenty-five or twenty-one grams for adult women depending on age band, with adult men near thirty-eight or thirty grams after midlife. grams_per_1000_kcal is always fourteen, unit is always g/day, formula restates the energy equation, and method is always ioM_14g_per_1000kcal_with_ai so downstream code can branch without sniffing shapes. Use recommended_fiber_g when a meal planner only needs one scalable daily target; use adequate_intake_g when education materials must show the familiar age and sex table next to the calorie-scaled number.
API usage, pricing, coaching workflows, and practical limits
Call the free in-browser daily fiber intake calculator for quick checks, client education, lecture demos, and grocery-list planning without installing a nutrition spreadsheet. Prefer calorie intakes that already match your product’s daily energy estimate—if you only know macros, sum them first before calling. Keep expectations educational: this is a planning and literacy tool, not a diagnostic medical device, and users with atypical needs should follow clinical guidance rather than any single formula alone. Send a JSON body with required age, sex, and calorie_intake (or their aliases). Use the prepaid API when a wellness SaaS, telehealth intake form, school cafeteria planner, or calorie-tracking pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects the request. Pair this endpoint with your own food-logging database: compute the gram target here, then score logged meals against recommended_fiber_g on the client. Authors shipping SDKs can map recommended_fiber_g and adequate_intake_g into dashboard cards and export CSV columns labeled energy-based fiber and AI table fiber—the same numbers dietitians write by hand when they apply fourteen grams per thousand kilocalories on paper.
Integration use cases
Wellness and nutrition apps
Apps that already store energy goals call a stable prepaid endpoint for daily fiber grams instead of reimplementing density math in every client language.
Classroom and public-health demos
Courses compare energy-based fiber targets with age and sex AI values and pin expected JSON in automated tests with deterministic outputs.
Technical questions
Why return both recommended_fiber_g and adequate_intake_g?
recommended_fiber_g scales with your calorie budget (14 g per 1000 kcal). adequate_intake_g is the familiar age- and sex-specific AI table value for side-by-side education and UI labels.