mL to cups converter
A cup is 236.588 mL in the US, 250 mL in metric recipes and 284.131 mL in older British cookbooks: pick the one your recipe means and convert millilitres to cups or back. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Numeric volume to convert
- 250
- Cup size system: us
- us
- Result
- 1.056688
- From
- ml
- To
- cups
- System label
- US customary cup
Recipe cards, packaging labels, and kitchen scales rarely agree on one volume language. A European formula may list two hundred fifty millilitres of stock while a North American pan still expects cups, and a British cookbook may mean a larger imperial cup than either. Millilitres to cups is not a single constant conversion because the US customary cup, the metric two-hundred-fifty-millilitre cup, and the imperial cup each define a different millilitre capacity. This capability converts a volume between millilitres and cups for a chosen cup system using those fixed sizes, so the same inputs always return the same result with no network lookup and no random packing guess. You send an amount, a system of us, metric, or imperial, and optionally whether the amount is already in millilitres or cups; the engine multiplies or divides by the published millilitres-per-cup factor and returns both units plus a clear system label. Unknown cup systems fail with invalid input instead of silently assuming US measures.
Why millilitres to cups needs a cup system, not one factor
Volume conversion between millilitres and cups only works when you name which cup you mean. A US customary cup is exactly eight US fluid ounces, which is two hundred thirty-six point five eight eight two three six five millilitres. A metric cup used in many Australian and international recipes is two hundred fifty millilitres on the nose.
An imperial cup, still seen in older United Kingdom cookbooks, is ten imperial fluid ounces, or two hundred eighty-four point one three zero six two five millilitres. Treating every cup as the same size is how a sauce that fits a metric measuring jug overflows a US cup set or underfills a UK glass measure. This product keeps a published fixed table of those three cup sizes and never invents a fourth on the fly.
Conversion is simply cups equals millilitres divided by millilitres per cup for the resolved system, or the reverse multiply when the source is already in cups. Negative amounts and missing fields are rejected as invalid input, and zero correctly yields zero in both units for empty optional ingredients in generated shopping lists or step templates.
Everyday kitchen uses and its limits
Use the free in-browser millilitres to cups converter when scaling a single recipe at the counter, checking a blog post that mixes metric jugs with US measuring cups, or teaching students why cup definitions differ across regions. Remember that dry-goods packing still differs from liquid volume; this tool converts pure volume using published cup sizes and does not replace an ingredient density table for flour or honey.
Authors shipping SDKs can map the response into a two-column UI of millilitres and cups with the system label as the row subtitle, matching how home cooks already compare jug marks and cup sets on paper.
What you can do with it
Scale metric recipes into US cup measures
Home cooks convert stock, milk, and oil listed in millilitres into US cups for pantries that only have measuring cups, choosing the us system so results match American cup sets.
FAQ
What is the difference between US, metric, and imperial cups?
A US cup is about 236.588 mL, a metric cup is exactly 250 mL, and an imperial (UK) cup is about 284.131 mL. The engine uses those fixed sizes so the same millilitres yield different cup counts per system.
Is the mL to cups converter free?
The browser tool runs free on your device.
Can I convert cups back to millilitres?
Yes. Set from to cups (or cup) and amount to the cup volume.
How many US cups is 250 mL?
250 mL is 1.056688 US cups, a little more than one cup. In a metric recipe the same 250 mL is exactly one cup, which is why choosing the cup system matters.
Can I use it to turn cups of flour or honey into grams?
No. It converts volume only, using fixed cup sizes. Flour and honey weigh different amounts per cup, so grams need a converter that knows the density of each ingredient.
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/cook/ml-cups \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"amount":250,"system":"us"}'const res = await fetch("https://api.kit.forhosting.com/cook/ml-cups", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"amount": 250,
"system": "us"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/cook/ml-cups",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"amount": 250,
"system": "us"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/cook/ml-cups", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"amount":250,"system":"us"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"amount":250,"system":"us"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/cook/ml-cups", 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": 250,
"system": "us"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "cook.ml_cups",
"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
Why millilitres to cups needs a cup system, not one factor
Case-insensitive names and friendly aliases such as usa, uk, british, and metric cup normalize to the same canonical keys so form UIs stay friendly while the JSON contract stays stable.
How to call the converter and read the response fields
Optional field from defaults to ml so a millilitres-to-cups search lands on the expected path; set from to cups when you are converting the other direction. Non-finite amounts, empty system strings, and missing required fields follow the same error path. Send a JSON body with the required number field amount set to a non-negative finite volume, and the required string field system naming us, metric, or imperial. Aliases value, quantity, and qty are accepted for the amount field; cup_system, cup, and standard are accepted for the system field when your client already uses those labels. Use result alone when a simple display is enough; use ml_per_cup when you want to show users why two hundred fifty millilitres is one metric cup but slightly more than one US cup; use system_label when rendering multi-language shells that still need English kitchen names for the English landing. An unknown cup system such as japanese or a typo that does not match any alias fails with invalid_input and is not charged after validation rejects the request.
Practical kitchen workflows, limits, and API pricing
Use the prepaid API when a meal-planning app, smart scale companion, recipe CMS, or localization pipeline must convert many lines under a stable KIT contract at $0.002 per successful item. Pair this endpoint with grams-to-cups by ingredient density when the next step is flour or sugar mass rather than liquid volume, or with a general volume converter when you need litres, gallons, or cubic metres without a cup system.
Integration use cases
Recipe apps and CMS importers
Content pipelines normalize mixed unit blog recipes into structured JSON with millilitres and cups side by side for US, metric, or imperial audiences without embedding a live unit API.
Culinary classrooms and regional unit drills
Students compare US, metric, and imperial cup sizes for the same millilitre amount; graders pin expected cups and expect invalid_input on unknown cup systems.
Technical questions
How do I convert millilitres to cups?
Send JSON with amount set to the millilitre value (for example 250) and system set to us, metric, or imperial. From defaults to ml. The response returns cups using the fixed millilitres-per-cup size for that system.
What happens if the cup system is unknown?
The request fails with invalid_input. Only us, metric, imperial, and their documented aliases are accepted; unknown systems are not charged after validation fails.