Illuminance from luminous intensity
Know how bright a surface will be before you place the lamp: 100 candela at 2 metres puts 25 lux on a surface facing the source, by dividing intensity by distance squared. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Intensity
- 100
- Distance
- 2
- Illuminance
- 25 lux (lx)
- Distance squared
- 4
- Precision
- 10
This illuminance from luminous intensity calculator answers a core photometry question: if a point light source has a known luminous intensity in candela, how much illuminance in lux falls on a surface at a known distance? Under the inverse-square law for a surface facing the source, illuminance equals intensity divided by distance squared. Classic checks include one hundred candela at two metres giving twenty-five lux, and one candela at one metre giving one lux. The engine is pure finite arithmetic with no network calls, no sampling, and no date-dependent shortcuts.
What the result tells you about a point light
Luminous intensity measures how much luminous flux a source sends into a unit solid angle, and is expressed in candela. Illuminance measures how much luminous flux arrives per unit area on a receiving surface, and is expressed in lux, which is one lumen per square metre.
For an ideal point source, the solid angle subtended by a small patch of area A at distance r is A over r squared, so the flux through that patch is intensity times A over r squared and the illuminance is simply intensity over r squared. When intensity is in candela and distance is in metres, the result is lux for a surface whose normal points toward the source.
Real luminaires are extended, rooms have reflections, and tilted surfaces need a cosine factor, but the free-space point-source form remains the standard first-order check in textbooks, datasheet sketches, and setback estimates.
Where inverse-square illuminance estimates fit in study, design, and software
Students meet E equals I over r squared when a photometry or optics unit asks how bright a surface is at a given standoff, when a lab starts from a lamp intensity rating and wants lux on a bench, or when a contest problem demands a fourfold intensity drop for a doubled range without inventing room corrections.
Lighting designers and stage technicians use the same closed form as a first estimate of how far a spotlight or LED module must sit from a wall or actor before measuring on site with a lux meter. Teachers can pre-generate answer keys for modest intensity and distance pairs without trusting opaque apps that silently mix luminous flux, intensity, and illuminance.
Developers call the same contract from scripts to seed deterministic test vectors for lighting widgets, to convert a candela datasheet value into a map of lux at working distance, or to satisfy programming-challenge statements that demand E rather than a hand-waved sketch. Product and education tools use the solve when a learner types one hundred candela at two metres and the UI must show twenty-five lux with a clean formula reminder.
Pair it with unit converters for lux and candela when you are building a small lab of free, deterministic photometric calculators.
What you can do with it
Homework and inverse-square photometry drills
Check textbook problems that ask for surface illuminance from a point source using E = I / r² with intensity in candela and distance in metres.
Lighting design and setback estimates
Roughly estimate lux on a wall, desk, or stage from a known candela rating and working distance before on-site meter readings.
FAQ
What does the illuminance from luminous intensity calculator cost?
It is free in your browser on this page.
What formula is used?
Point-source photometric inverse-square law: E = I / r². With I in candela and r in metres, E is in lux for a surface normal to the ray.
What happens if the distance is zero?
Zero distance is undefined under the inverse-square model (division by zero in E = I / r²).
Does this account for tilted surfaces or room reflections?
No. It only applies the free-space point-source form for normal incidence. Cosine fall-off, extended sources, and multipath are outside this tool.
How is this different from an illuminance unit converter?
A unit converter renames lux to foot-candles or phot without using intensity. This tool computes illuminance from luminous intensity and distance via E = I / r².
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/optics/illuminance-from-intensity \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"intensity":100,"distance":2}'const res = await fetch("https://api.kit.forhosting.com/optics/illuminance-from-intensity", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"intensity": 100,
"distance": 2
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/optics/illuminance-from-intensity",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"intensity": 100,
"distance": 2
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/optics/illuminance-from-intensity", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"intensity":100,"distance":2}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"intensity":100,"distance":2}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/optics/illuminance-from-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
{
"intensity": 100,
"distance": 2
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "optics.illuminance_from_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.
Limits
max_intensity | 1000000000000000 |
max_distance | 1000000000000000 |
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
What point-source illuminance means and what the response contains
This calculator returns the input intensity and distance; the solved illuminance; the intermediate distance_squared value; the precision used; a method tag inverse_square_illuminance; a short formula string; and a unit note that illuminance is reported in lux. There is no Monte Carlo path and no environment model: the engine either evaluates the closed form inside the supported ranges or rejects the input with invalid_input. Rejected cases include missing intensity or distance; non-finite values; magnitudes above the documented ceilings; negative intensity; and any distance that is zero or negative, because the inverse-square model is undefined at the source.
How intensity and distance are read and how results stay reproducible
Intensity must be non-negative; a negative candela value is rejected as non-physical for photometric intensity. Distance must be a finite positive number in a consistent length unit; metres are the usual SI choice so that E comes out in lux, but any positive scale that matches your model works if you interpret the unit of E consistently. Optional leading plus signs and scientific notation on numeric strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong lux figure. The preferred fields are intensity for luminous intensity in candela and distance for the source-to-surface range in metres, but aliases I, luminous_intensity, candela, and cd for intensity, and r, d, range, meters, and metres for distance are accepted so spreadsheets, query strings, and typed forms can reuse the same contract. Zero or negative distance fails with invalid_input because zero range is undefined under the inverse-square law. An optional precision field, with aliases decimals and dp, chooses how many decimal places to expose for all numeric fields, defaulting to ten and capped at fifteen so JSON goldens stay stable. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline without re-implementing I over r squared yourself.
Where inverse-square illuminance estimates fit in study, design, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split — free interactive exploration and a priced, identical API — matches the rest of the KIT tier-A catalog and lets you move from a classroom demo to an automated pipeline without changing the mathematical result.
Integration use cases
Deterministic photometric fixtures
Generate reproducible illuminance and distance_squared values for unit tests, CI assertions, and teaching demos that fix I and r.