Luminous intensity converter
Put an LED's millicandela rating and a lamp's candlepower on the same scale: 1 candela is 1000 millicandela, and one candlepower counts as one candela. Four intensity units, always converted through the candela. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Value
- 1
- Source unit
- Cd
- Target unit
- Mcd
- Result
- 1,000
- From label
- candela
- To label
- millicandela
- Candela
- 1
A luminous intensity converter turns a quantity written in one photometric intensity unit into another without hunting conversion tables or rewriting spreadsheet formulas.
Supported units and how the conversion is computed
The converter accepts four luminous intensity families under stable canonical codes: cd for the SI candela, mcd for the millicandela, kcd for the kilocandela, and cp for candlepower under the modern photometric convention where one candlepower equals one candela. Factors follow SI and conventional engineering standards: one millicandela is exactly one thousandth of a candela, one kilocandela is one thousand candela, and one candlepower is treated as exactly one candela so legacy lamp ratings align with SI without a historical international-candle correction factor.
Because the intermediate is always candela, converting A to B and B to A is consistent up to the published rounding of twelve decimal places, and there is no pairwise matrix that can drift out of sync. Luminous flux in lumens, illuminance in lux, and luminance are intentionally out of scope so lighting designers, LED datasheet readers, and physics students get predictable intensity-only results under one clear convention.
Where intensity conversions come up
Use the free in-browser luminous intensity converter when you need a quick candela-to-millicandela, millicandela-to-candela, or candlepower-to-candela check while reading an LED datasheet, luminaire catalog, lab procedure, theatrical lighting plot, or homework problem. Open the page, enter the number and units, and copy the result without installing a spreadsheet, a unit library, or a desktop calculator pack. Source inputs follow the same retention rules as other KIT parse items, and results are safe to cache because the algorithm is fully deterministic.
Authors shipping mobile apps or chatbots can map the result and formula fields directly into cards that show both the number and the conversion path students, technicians, and lighting engineers expect on paper.
What you can do with it
LED and electronics datasheets
Convert millicandela peak ratings to candela so indicator LEDs, displays, and module specs share one SI intensity view without hand-written factors.
FAQ
Which luminous intensity units does this converter support?
Candela (cd), millicandela (mcd), kilocandela (kcd), and candlepower (cp).
How do I convert 1 candlepower to candela?
The response result field is 1 under the modern candlepower ≡ candela convention, plus a candela intermediate and a readable formula.
What happens if I send an unknown unit?
The message names the field and lists supported units. Validation failures are not charged.
Is the luminous intensity converter free?
The browser tool runs free on your device.
Can I convert lumens or lux with this tool?
No. Luminous flux in lumens, illuminance in lux and luminance are different quantities and stay out of scope. This converter handles intensity only: candela, millicandela, kilocandela and candlepower.
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-intensity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"value":1,"from":"cd","to":"mcd"}'const res = await fetch("https://api.kit.forhosting.com/conv/luminous-intensity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"value": 1,
"from": "cd",
"to": "mcd"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/conv/luminous-intensity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"value": 1,
"from": "cd",
"to": "mcd"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/conv/luminous-intensity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"value":1,"from":"cd","to":"mcd"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"value":1,"from":"cd","to":"mcd"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/conv/luminous-intensity", 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": 1,
"from": "cd",
"to": "mcd"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "conv.luminous_intensity",
"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
The browser tool runs free on your device; the prepaid API charges $0.002 per successful item when pipelines need the same contract from servers and automation.
Supported units and how the conversion is computed
Friendly aliases such as candela, candelas, millicandela, millicandelas, kilocandela, kilocandelas, candlepower, candlepowers, candle power, candle, and candles are normalized case-insensitively so forms and APIs can pass either short codes or full names. Every request multiplies the input value by the exact candela-per-unit factor for the source, then divides by the candela-per-unit factor for the target.
Request shape, response fields, and unknown-unit errors
The error message names the bad field and lists the supported set so clients can correct forms without guessing. Negative values are allowed when you need signed or relative intensity differences in analysis pipelines; zero converts cleanly to zero in every target unit. Send a JSON body with three required fields: value as a finite number, from as the source unit string, and to as the target unit string. Aliases amount and quantity are accepted for value; unit_from and source for from; unit_to and target for to. On success the response echoes the canonical from and to codes, human-readable from_label and to_label strings, the converted result, the intermediate candela quantity, the dimensionless factor from source to target, a short formula line suitable for UI display, the method tag luminous_intensity_si, and the fixed list of units_supported. Missing value, non-finite numbers such as NaN or Infinity, missing unit fields, and any token that does not map to a supported unit fail with invalid_input and are not charged after the engine rejects the request. Identical inputs always yield identical JSON because the path is pure arithmetic with no randomness, no remote lookup, and no dependence on the wall clock, which makes the endpoint safe to pin in continuous-integration goldens and SDK contract tests. Millicandela-scale LED peak ratings and kilocandela searchlight figures share the same code path, so extreme magnitude pairs remain well-defined as long as IEEE double precision can represent the intermediate candela product.
Browser use, API pricing, and everyday workflows
Switch to the prepaid API when a lighting design plugin, photometric lab LIMS, product configurator, automotive headlamp tool, physics homework checker, or instrumentation pipeline must convert luminous intensity at scale under a stable KIT contract at $0.002 per successful item; validation failures that raise invalid_input do not consume balance after rejection. Pair this endpoint with flux or illuminance tools when a product pipeline needs several photometric measure families, or call it alone when search traffic is specifically for luminous intensity conversion—candela, millicandela, kilocandela, and candlepower—rather than a general unit switchboard.
Integration use cases
Architectural and theatrical lighting
Normalize candela and kilocandela figures in beam tables, fixture catalogs, and design notes when drawings mix SI multiples and legacy labels.
Legacy candlepower records
Convert candlepower and candela for historical lamp ratings and class problems with a prepaid, deterministic API and clear invalid_input on unknown units.
Technical questions
How many millicandela is one candela?
Exactly 1000 mcd. Send value: 1, from: "cd", to: "mcd" to see it in the result field.