Vitamin daily intake calculator
A 30-year-old woman needs 75 mg of vitamin C a day, and 85 mg if she is pregnant. Pick one of thirteen vitamins, enter age, sex and pregnancy status, and get the daily amount in its own unit. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Vitamin
- C
- Age
- 30
- Sex
- Female
- Pregnancy
- None
- Vitamin name
- Vitamin C (ascorbic acid) mg/day
- Age band
- 19-30
- Amount
- 75
- Kind
- RDA
Recommended daily vitamin intakes are not one number: they change with age, with sex, and with pregnancy or lactation, and each vitamin is reported in its own unit. This vitamin daily intake calculator looks up the Institute of Medicine Dietary Reference Intake—Recommended Dietary Allowance where one exists, Adequate Intake where it does not—for a named vitamin from those three facts. Send vitamin, age, sex, and pregnancy; the engine maps age onto the published DRI band, applies the sex- and pregnancy-specific row, and returns amount with its unit so meal planners, prenatal checklists, and nutrition apps can show a single daily target.
How age bands, sex, and pregnancy select the DRI cell
The engine first normalizes the vitamin name, then maps chronological age onto one of ten Institute of Medicine bands: 0–6 months, 7–12 months, 1–3, 4–8, 9–13, 14–18, 19–30, 31–50, 51–70, and 70 years and older. Infant and many childhood rows store a single both-sexes amount; from adolescence onward many vitamins split male and female, and vitamin B6 further raises the male and female adult values after age fifty-one. Pregnancy status is applied only after that band is chosen.
Where the tables give an Adequate Intake instead of a Recommended Dietary Allowance—vitamin K at every age, biotin, pantothenic acid, and infant values for several vitamins—the kind field is AI so clients can label the number honestly. Amount is the daily total in the unit field: do not convert milligrams to international units here, and do not treat the figure as a tolerable upper intake level. Example: vitamin c, age 30, female, pregnancy none resolves to the 19–30 female cell of 75 milligrams per day (RDA).
The same woman with pregnancy pregnant receives 85 milligrams per day. Folate for a pregnant adult is 600 micrograms DFE per day; vitamin A for that same life stage is 770 micrograms RAE per day. Use amount plus unit as the primary display pair; use kind when you need to say whether the number is an RDA or an AI in educational copy.
Where these daily targets help, and their limits
Call the free in-browser vitamin daily intake calculator for classroom demos, prenatal education, and quick checks without installing a nutrition spreadsheet. Keep expectations educational: smokers, people with malabsorption, bariatric surgery, or prescribed megadose regimens need professional guidance that no static table can replace, and this calculator does not add the extra vitamin C sometimes suggested for tobacco use. Authors shipping SDKs can map amount and unit into dashboard cards labeled daily vitamin target—the same numbers a dietitian reads from an IOM table by hand.
Do not send minerals, fatty acids, or choline; those names are not in the vitamin reference table and will fail closed. Age above one hundred thirty is rejected to keep isolate work bounded.
What you can do with it
Prenatal and lactation counseling
Clinics and prenatal apps look up folate, vitamin A, and vitamin D for a pregnant or lactating adult and show the daily amount with its unit next to supplement advice.
FAQ
How is the recommended daily vitamin intake calculated?
The engine maps age onto an IOM DRI band, then reads the sex- and pregnancy-specific cell for the named vitamin. It returns amount with its unit and kind RDA or AI; it does not estimate intake from foods.
Can men request a pregnant or lactating value?
No. Pregnancy and lactation rows apply only to females aged 14–50 years.
Is the vitamin daily intake calculator free?
The browser tool runs free on your device.
What is the difference between RDA and AI in the result?
kind is RDA when the Institute of Medicine published a Recommended Dietary Allowance for that cell, and AI when only an Adequate Intake exists (for example vitamin K, biotin, and most infant rows).
How much vitamin C and folate does a pregnant woman need a day?
A pregnant adult needs 85 mg of vitamin C a day, against 75 mg for a 30-year-old woman who is not pregnant. Folate rises to 600 micrograms DFE a day and vitamin A to 770 micrograms RAE.
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/vitamin \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vitamin":"c","age":30,"sex":"female","pregnancy":"none"}'const res = await fetch("https://api.kit.forhosting.com/health/vitamin", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vitamin": "c",
"age": 30,
"sex": "female",
"pregnancy": "none"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/health/vitamin",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vitamin": "c",
"age": 30,
"sex": "female",
"pregnancy": "none"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/health/vitamin", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vitamin":"c","age":30,"sex":"female","pregnancy":"none"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vitamin":"c","age":30,"sex":"female","pregnancy":"none"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/health/vitamin", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"vitamin": "c",
"age": 30,
"sex": "female",
"pregnancy": "none"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "health.vitamin",
"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
Names that are not in the closed reference table fail with invalid_input instead of inventing a dose. Successful API items bill at $0.002; validation failures are not charged.
What the calculator returns and which inputs you need
Send age as a non-negative finite number of years at most one hundred thirty; fractional years are allowed so infants can land in the zero-to-six-month band (age less than 0.5) or the seven-to-twelve-month band (0.5 inclusive to 1 exclusive). Send sex as male or female (m, man, f, and woman are accepted). A recommended daily intake is the amount of a vitamin that the Institute of Medicine tables assign to a life-stage group, expressed in the unit used for that nutrient: milligrams per day for vitamin C, micrograms of retinol activity equivalents per day for vitamin A, micrograms DFE per day for folate, milligrams of niacin equivalents per day for vitamin B3, and so on. This endpoint does not estimate intake from a food diary and does not diagnose deficiency; it resolves the published DRI cell for the vitamin you name. Send vitamin as a code or alias from the closed table: canonical keys are a, c, d, e, k, b1, b2, b3, b5, b6, b7, b9, and b12, with aliases such as vitamin_c, thiamin, folate, ascorbic_acid, retinol, niacin, biotin, and cobalamin. A name that is not in the reference table—zinc, choline, or a misspelling—fails with invalid_input naming the vitamin field. Send pregnancy as none, pregnant, or lactating (no, not_pregnant, yes, lactation, and breastfeeding map onto those three). On success the body echoes the canonical vitamin, vitamin_name, age, sex, pregnancy, and age_band, then returns amount, unit, kind (RDA or AI), method iom_dri, and a formula string restating the lookup. Identical inputs always yield identical JSON because the algorithm never touches the network, a language model, a wall clock, or a random generator.
How age bands, sex, and pregnancy select the DRI cell
Pregnant and lactating rows exist for females aged fourteen through fifty, matching the published DRI life-stage groups; asking for pregnant or lactating when sex is male, or when age is under fourteen or fifty-one and above, fails with invalid_input rather than silently falling back to the non-pregnant female cell.
API usage, pricing, coaching workflows, and practical limits
POST a JSON body with required vitamin, age, sex, and pregnancy (or the documented aliases). Use the prepaid API when a wellness product, electronic prenatal record, school-health form, or meal-planning pipeline needs a stable contract under KIT balance at $0.002 per successful item; validation failures never consume balance after the engine rejects an unknown vitamin or an inconsistent pregnancy status. Pair this endpoint with your own food-logging database: resolve the daily target here, then score logged intake against amount on the client, keeping the DRI table in one place instead of copying thirteen nutrient columns into every mobile build.
Integration use cases
Wellness and meal-planning apps
Apps that already store age and sex call a stable prepaid endpoint for each vitamin target instead of shipping a thirteen-nutrient DRI table in every client language.
Classroom and public-health demos
Courses compare child, adult, and pregnancy DRI cells for the same vitamin and pin expected JSON in automated tests with deterministic outputs.
Technical questions
What happens if the vitamin name is not in the table?
The request fails with invalid_input. Only the closed reference set (vitamins A, C, D, E, K, and B1–B12 under their aliases) is accepted; unknown names are not billed.