ML to µL conversion
Multiply millilitres by exactly 1000 to get microlitres: 1 ml is 1000 µl and a quarter millilitre is 250 µl. Ready to dial into a micropipette or copy into a PCR protocol. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Ml
- 1
- Result
- 1,000 ul
- Converted
- 1,000
- Milliliters
- 1
- Ul
- 1,000
A milliliters-to-microliters converter turns a volume written in milliliters (ml or mL) into the microliter (µl, uL, or µL) scale used on micropipettes, PCR plates, ELISA wells, HPLC injection loops, and molecular-biology notebooks. Enter a finite nonnegative volume in milliliters; the tool multiplies by the exact SI prefix factor of one thousand because milli is ten to the minus three and micro is ten to the minus six, so one milliliter equals one thousand microliters with no leftover coefficient.
Why milliliters convert to microliters at exactly one thousand
Milliliters remain the everyday SI volume unit for bottles, oral syringes, culture flasks, and reagent stock, while microliters are the working unit of micropipettes, PCR plates, ELISA wells, HPLC injection loops, and molecular-biology notebooks.
A technician who measured a quarter milliliter of buffer and must program a pipette in microliters, a pharmacist converting an oral-syringe mark into a microliter fill, a qPCR protocol that lists master-mix volumes in microliters while the stock bottle is labeled in milliliters, and a student solving SI-prefix homework all need a single reliable bridge from milliliters to microliters.
That bridge is definitional rather than approximate: the SI prefix milli means exactly ten to the minus three and the SI prefix micro means exactly ten to the minus six, so one milliliter equals exactly one thousand microliters. Conversion is therefore a single exact multiply—microliters equals milliliters times one thousand—with no leftover uncertainty and no dependence on temperature, density, or local customary teaspoons. This landing stays on the milliliter-to-microliter path only.
It does not convert liters as a primary form, although one milliliter is one thousandth of a liter by the same prefix rules, and it does not convert US cups, fluid ounces, or teaspoons. Zero milliliters maps cleanly to zero microliters.
Practical tips, pipette checks, and related searches
Round-trip sanity checks are easy: convert one milliliter and confirm you receive exactly one thousand microliters after rounding, convert one quarter milliliter and confirm two hundred fifty microliters, or convert zero and confirm zero. When teaching, show that dividing the published microliters by one thousand recovers the original milliliters within the same twelve-decimal rounding used for published fields, which makes the SI prefix pair visible instead of hiding it behind a mysterious coefficient.
Stay inside the absolute range so the multiply cannot overflow into a non-finite result the solver must reject, and never send a signed negative volume hoping the tool will treat it as a delta. This landing targets people searching for ml to ul conversion, convert milliliters to microliters, or a calculator that states one milliliter equals one thousand microliters; it is not a general multi-unit volume hub, not a microliters-to-milliliters primary form, not a cups or fluid-ounce kitchen converter, and not a grams-by-density path.
Prefer this capability when the input is already in milliliters and you only need microliters; if you must convert among many laboratory or kitchen systems in one call, use a broader volume converter instead. Micropipette calibration sheets, PCR master-mix recipes, and HPLC loop notes often mix milliliter stock labels with microliter working volumes in the same row, so a dedicated landing for that pair of units saves a round trip through a generic converter that would force the caller to pick both from and to units every time.
What you can do with it
Micropipette and PCR master-mix prep
Turn milliliter stock-bottle readings into microliter pipette programs for PCR, qPCR, ELISA, and master-mix sheets so every well uses the same SI factor of one thousand.
HPLC loops and laboratory notebooks
Convert milliliter aliquot notes into microliter injection-loop and HPLC volumes for methods, validation packs, and bench notebooks that print µl instead of ml.
FAQ
What formula converts milliliters to microliters?
Microliters = milliliters × 1000. The SI prefix milli is 10^-3 and micro is 10^-6, so one milliliter is defined as exactly one thousand microliters.
Does this convert liters, teaspoons, cups, or gallons?
No. It converts milliliters (ml) to microliters (µl / uL) only. Liters, kitchen customary units, and cubic centimetres belong on dedicated converters for those pairs.
Is the milliliters to microliters converter free?
The browser tool is free and runs locally.
Why is a millilitre exactly 1000 microlitres?
Because the prefix milli means ten to the minus three and micro means ten to the minus six. The gap between them is an exact factor of a thousand, with no leftover coefficient to round.
How do I set a micropipette from a millilitre reading?
Multiply the millilitre figure by 1000 and dial that number in microlitres. A quarter millilitre of buffer, for example, becomes 250 µl on the pipette.
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/conv/ml-to-ul-conversion \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"ml":1}'const res = await fetch("https://api.kit.forhosting.com/conv/ml-to-ul-conversion", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"ml": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/ml-to-ul-conversion",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"ml": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/ml-to-ul-conversion", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"ml":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"ml":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/ml-to-ul-conversion", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"ml": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.ml_to_ul_conversion",
"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.
Limits
max_abs | 1000000000000 |
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
Invalid, missing, infinite, or negative input fails with a clear invalid_input error instead of inventing a volume.
How to call the API and what comes back
Absolute values must stay within the published limit of one trillion, and the value must be greater than or equal to zero. Prefer bare numbers when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without unit symbols, thousand separators, or currency marks attached to the value. Send a JSON body with one required finite nonnegative number field named ml. Aliases milliliters, millilitres, milliliter, millilitre, value, and volume are accepted so SDK clients and form posts can use the name that fits the product. On success the response echoes rounded ml and milliliters as the same magnitude, sets ul, microliters, result, and converted to the same rounded microliter magnitude, unit to the token ul, from_unit to ml and to_unit to ul, factor and ul_per_ml to one thousand, formula to the string ul equals ml times one thousand with the identity in parentheses, message to a short English summary, and steps to an ordered array of substitution lines that show the exact SI prefix definition. Failed validation—missing fields, non-finite numbers, negative volumes, bare plus or minus signs, non-numeric strings, values outside absolute limits, or a non-finite converted result—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item.
Practical tips, pipette checks, and related searches
Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when learners deliberately omit ml or pass plain text instead of a number.
Integration use cases
Homework and unit-test fixtures
Students and engineers convert classroom milliliter readings to microliters and pin golden JSON so browser and API arithmetic never drift.
Technical questions
Is 1 ml really equal to 1000 µl?
Yes. Under SI, 1 L = 1000 ml and 1 ml = 1000 µl. This tool multiplies by that identity factor of one thousand only.
What happens on missing, negative, or non-numeric input?
The API returns invalid_input naming the problem (for example a missing ml field, or a value that is not a finite nonnegative number). Failed tasks are not charged.