Luminous flux converter
Move a lumen figure to the prefix your datasheet uses: 800 lumens are 0.8 kilolumens. Five flux units, from microlumens to megalumens, for LED packages, product labels, lab readings and coursework, all through the lumen. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 800
- From
- Lm
- To
- Klm
- Result
- 0.8 klm
- Converted
- 0.8
- Value lm
- 800
- Factor
- 0.001
A luminous flux converter turns one lumen-scale magnitude into another SI-prefix unit without spreadsheet decade tables or hand-written powers of ten. Enter a finite value plus a source unit and a target unit among lumens, millilumens, microlumens, kilolumens, and megalumens; the tool returns the converted flux, the SI intermediate in lumens, the exact unit factor applied, and step-by-step substitution lines you can paste into a lighting schedule, lab notebook, or product datasheet. Lighting designers comparing LED package outputs, manufacturers aligning klm product labels with lm lab readings, students converting photometry homework, and firmware authors mapping sensor counts to physical flux all need the same deterministic path.
Which luminous flux units are supported and how conversion works
This capability converts among five everyday luminous-flux units that dominate lighting design, LED packaging, architectural photometry, and laboratory coursework. The lumen (lm) is the SI coherent unit of luminous flux and the internal hub: every conversion multiplies the input by how many lumens equal one source unit, then divides by how many lumens equal one target unit. Millilumens use the exact SI milli prefix of one thousandth of a lumen.
Microlumens use the exact SI micro prefix of one millionth of a lumen and accept both the µlm glyph and the ascii ulm spelling. Kilolumens use one thousand lumens; megalumens use one million lumens. Bare uppercase Mlm or MLM is treated as megalumen so it does not collide with lowercase mlm millilumen after naive lowercasing.
Same-unit requests succeed and return the input magnitude with a short message that no change of unit was required.
Practical tips, limits, and when to use this landing
Prefer sending bare numbers for value when you control the client; string numbers are accepted only when they match a strict finite numeric pattern without currency symbols or thousand separators. Round-trip checks are straightforward: convert A to B and B back to A and confirm you recover the original within the published twelve-decimal rounding. When teaching SI prefixes, pair classic examples such as eight hundred lumens to zero point eight kilolumens, twelve millilumens to twelve thousand microlumens, and two megalumens to two million lumens.
Stay inside the absolute range so intermediate lumen values cannot overflow. This landing targets people searching for a luminous flux converter, lumens to kilolumens, mlm to lm, or microlumens to millilumens online; it is not a general multi-quantity unit converter, not an illuminance (lux) calculator, not a candela intensity tool, and not a lamp efficacy lm/W estimator.
What you can do with it
Photometry homework and lab notes
Students convert lm, mlm, and µlm homework values with deterministic steps they can compare against hand calculations before submission.
FAQ
How do you tell mlm from Mlm?
Lowercase mlm and the word millilumen map to millilumens. Uppercase Mlm or MLM and the word megalumen map to megalumens so the SI mega prefix is not lost after lowercasing.
Is the luminous flux converter free?
The browser tool is free and runs locally.
Does this convert lux or candela?
No. It only converts luminous flux among lumen SI prefixes. Illuminance (lux) and luminous intensity (candela) are different photometric quantities.
How many microlumens are in a millilumen?
A thousand. A millilumen is one thousandth of a lumen and a microlumen one millionth, so each step between those prefixes is a factor of 1000. Both µlm and ulm are understood.
Can I work out lumens per watt here?
No. Lumens per watt describe efficacy, a different quantity, so they are not converted here. This tool only changes the prefix of a luminous flux value.
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/luminous-flux \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":800,"from":"lm","to":"klm"}'const res = await fetch("https://api.kit.forhosting.com/conv/luminous-flux", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 800,
"from": "lm",
"to": "klm"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/luminous-flux",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 800,
"from": "lm",
"to": "klm"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/luminous-flux", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":800,"from":"lm","to":"klm"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":800,"from":"lm","to":"klm"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/luminous-flux", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"value": 800,
"from": "lm",
"to": "klm"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.luminous_flux",
"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
Unknown unit names fail with a clear invalid_input error instead of silent wrong factors.
Which luminous flux units are supported and how conversion works
Common aliases are accepted case-insensitively for most names: lumen and lumens for lm, millilumen and millilumens for mlm, microlumen and microlumens for µlm, kilolumen and kilolumens for klm, megalumen and megalumens for Mlm. If the name is not on that list the solver rejects the request with invalid_input naming the bad field and listing supported units, so clients never guess whether a typo produced a wrong number. Negative flux values are allowed only for signed arithmetic contexts you may choose to model; absolute magnitude must stay within the published one-trillion limit so intermediate products remain finite in IEEE double precision on the Worker and in the browser. This tool deliberately stays on the lumen axis: it does not convert lux (illuminance), candela (luminous intensity), or lm/W efficacy, which are different photometric quantities with different SI dimensions.
How to call the API and read the response
Value must be a finite number or a strict numeric string within absolute limits of one trillion. Wire this into dashboards, mobile clients, or batch jobs that already hold a luminous-flux reading and only need a second unit for display, packaging, or regulatory comparison without shipping floating conversion tables in every app binary. Send a JSON body with three required fields: value (aliases flux, amount, phi, and lumens), from (aliases from_unit, unit_from, and source), and to (aliases to_unit, unit_to, and target). From and to must resolve to supported unit names after alias normalization. On success the response echoes the rounded input value, canonical from and to labels, result and converted set to the same rounded target magnitude, value_lm as the SI intermediate in lumens, unit as the target label, factor as the from-to multiplier, formula as the short equation string, message as an English summary, steps as ordered substitution lines, and supported_units as the five canonical identifiers. Failed validation—missing fields, non-finite numbers, values outside absolute limits, or an unknown unit name—returns invalid_input and is never charged. Pricing is a flat $0.002 per successful request with unit item and zero marginal unit price.
Practical tips, limits, and when to use this landing
Normalize display labels on your side if you need locale-specific spellings—this API always returns the short canonical tokens lm, mlm, µlm, klm, and Mlm so automated tests stay stable. Prefer this capability when both endpoints are among the five supported lumen-prefix units and you need deterministic factors and step strings; if you need lux on a surface, candela at a solid angle, or watts-to-lumens with an efficacy assumption, use a dedicated photometric calculator instead. Failed tasks that return invalid_input do not consume prepaid balance, which keeps exploratory scripts cheap when clients deliberately probe unknown unit names.
Integration use cases
LED package and fixture labeling
Manufacturers convert lab lumen readings into kilolumens or megalumens so datasheets, cartons, and marketing tables use the same SI prefix as catalog SKUs.
Architectural lighting schedules
Designers convert mixed lm and klm fixture outputs into one unit before summing room loads or comparing alternate lamp schedules.
Technical questions
Which luminous flux units can I convert?
Lumens (lm), millilumens (mlm), microlumens (µlm or ulm), kilolumens (klm), and megalumens (Mlm), including common full-word aliases such as millilumen and kilolumens.
What happens if I send an unknown unit name?
The API returns invalid_input, names the bad field, and lists the supported units. The failed task is not charged.