Convert recipe cooking units
One US cup of flour is about 125 g, while a cup of honey weighs far more: pick the ingredient and convert between cups, spoons, milliliters, grams and ounces with its own density. Translate a US recipe for your kitchen scale. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Amount
- 1
- From
- Cup
- To
- G
- Density
- Flour
- Result
- 125
- Density g per ml
- 0.5283441047
- From dimension
- volume
- To dimension
- mass
Recipe cards mix US cups with metric grams, tablespoons with milliliters, and ounces with teaspoons—often without saying which packing density they assumed. Home cooks scaling a cake, meal-prep services localizing US blogs, and developers wiring a kitchen app all need one transparent bridge: take an amount in cup, tbsp, tsp, ml, g, or oz, pick a density category such as flour, sugar, butter, or water, and convert to a target unit. Same-dimension pairs use fixed US customary and SI factors; volume-to-mass and mass-to-volume pairs multiply or divide by the category’s grams per milliliter so flour never pretends to weigh the same as honey.
How recipe unit conversion and density categories work
Cooking measures fall into two physical dimensions: volume (cup, tablespoon, teaspoon, milliliter) and mass (gram, ounce). Converting within one dimension is a pure factor table: one US legal cup is 236.5882365 milliliters, one tablespoon is one-sixteenth of a cup, one teaspoon is one-third of a tablespoon, and one avoirdupois ounce is 28.349523125 grams. Those factors are fixed and ingredient-independent, so one cup of anything still holds the same volume as 236.59 ml of anything.
Crossing dimensions is different. A cup of flour packs far fewer grams than a cup of honey because bulk density differs. Volume to mass multiplies milliliters by density to reach grams, then scales into g or oz.
Mass to volume divides grams by density to reach milliliters, then scales into cup, tbsp, tsp, or ml. Same-dimension paths still accept density so your recipe context is echoed in the response, but the numeric path uses only the unit factors.
Where converting recipe cooking units earns its keep
Food bloggers and cookbook editors constantly translate US cup recipes for metric readers who weigh flour on a kitchen scale; a density-aware converter keeps cup-to-gram tables consistent across posts instead of hand-typed spreadsheets that drift per author. Meal-kit and grocery apps ingest partner recipes written in mixed units and must emit a single storefront unit system without silently treating butter like water. Culinary schools and exam platforms need a deterministic oracle so auto-graders mark cup-to-gram items against one packing table rather than floating teacher preferences.
Nutrition and prep calculators that scale servings first still need a second step that maps each scaled line into the unit the warehouse scanner expects. If you later need ingredient-specific micro-variants beyond the density categories, oven gas-mark temperature maps, or full pan-volume geometry, treat those as separate search intents and landings rather than overloading this convert-recipe-cooking-units page.
What you can do with it
US cup recipes to metric grams
Convert flour, sugar, or butter from cups into grams using the matching density category so bakers can scale by weight.
Tablespoons and teaspoons to milliliters
Map small liquid measures (tbsp, tsp) into ml for metric spoons without changing density math for same-dimension volume.
FAQ
Why do I need a density category?
Volume-to-mass and mass-to-volume conversion depends on how densely the ingredient packs. Flour, sugar, honey, and water do not share the same grams per milliliter.
Do same-dimension conversions still need density?
The numeric path for volume↔volume or mass↔mass uses only unit factors.
How many grams is a cup of flour?
About 125 g, using the flour density from conventional kitchen packing tables. A cup of sugar, butter or honey weighs a different amount, which is why you choose the ingredient before converting.
How many teaspoons are in a tablespoon?
Three. A teaspoon is one third of a tablespoon, so 2 tablespoons of sugar are 6 teaspoons. Converting between spoons and cups is a pure volume change that does not depend on the ingredient.
How many milliliters are in a US cup?
One US cup is 236.5882365 milliliters, usually rounded to 236.59 ml. A tablespoon is one sixteenth of that cup and a teaspoon one third of a tablespoon.
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/life/recipe-unit-convert \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":1,"from":"cup","to":"g","density":"flour"}'const res = await fetch("https://api.kit.forhosting.com/life/recipe-unit-convert", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 1,
"from": "cup",
"to": "g",
"density": "flour"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/life/recipe-unit-convert",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 1,
"from": "cup",
"to": "g",
"density": "flour"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/life/recipe-unit-convert", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":1,"from":"cup","to":"g","density":"flour"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":1,"from":"cup","to":"g","density":"flour"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/life/recipe-unit-convert", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"amount": 1,
"from": "cup",
"to": "g",
"density": "flour"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "life.recipe_unit_convert",
"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
Unsupported units fail with invalid_input instead of inventing a silent zero.
How recipe unit conversion and density categories work
This converter therefore requires a density category—water, flour, sugar, brown_sugar, butter, oil, honey, milk, salt, oats, or cocoa—expressed as grams per milliliter derived from conventional kitchen packing tables (for example flour about 125 g per US cup, water about 1 g per ml).
Input contract, response fields, and error behaviour
Classic checks include one cup of flour to grams near 125 g, one cup of water to milliliters near 236.59 ml, two tablespoons of sugar to teaspoons as a pure volume scale of six, and any request with unit pint or liter failing as an unsupported unit. Wire the free browser form for personal recipe translation, then call the identical contract from scripts when you bulk-convert ingredient lists. POST a JSON object with four required fields. amount is a finite non-negative number (fractions such as 0.5 or 1.25 are welcome; negative amounts fail). from and to are cooking unit tokens from the closed set cup, tbsp, tsp, ml, g, and oz—aliases such as cups, tablespoon, teaspoon, milliliter, gram, and ounce are accepted case-insensitively. density is a category string from the fixed table listed above; spaces and hyphens normalize to the canonical key. Missing fields, non-finite numbers, unknown units, and unknown density categories raise invalid_input and are not billed. On success the body echoes cleaned amount, canonical from and to labels, the resolved density label, density_g_per_ml used in the math, the converted result, from_dimension and to_dimension (volume or mass), a path string describing volume_via_ml, mass_via_g, volume_to_mass_via_density, or mass_to_volume_via_density, method recipe_unit_convert, and a short formula string suitable for UI tooltips. Successful API items cost the published base of $0.002; validation failures do not consume prepaid balance.
Integration use cases
Bulk recipe localization pipelines
Run ingredient rows through the API so meal-kit catalogs stay consistent when partner feeds mix oz, g, cup, and ml.
Technical questions
Which cooking units are supported?
cup, tbsp, tsp, ml, g, and oz (with common aliases). Other tokens such as pint or liter fail with invalid_input as an unsupported unit.
What density categories can I choose?
water, flour, sugar, brown_sugar, butter, oil, honey, milk, salt, oats, and cocoa. Unknown categories raise invalid_input.
What does the recipe unit converter cost?
The browser tool is free. API requests use prepaid KIT balance at $0.002 per successful item; invalid input is not charged.