Skip to main content

IES · EULUMDAT · PHOTOMETRY

See how a luminaire
really lights a room.

ies-tools reads the photometric files lighting manufacturers publish. It validates them, reports what they measure, converts between formats, and renders the light falling on a floor and wall from the measured intensity table.

MIT · Node and browsers · Files never leave your machine

Live: a track light from its IES file. Drag to orbit, gear for settings, tabs for charts.

ONE PARSER, FOUR SURFACES

Use it wherever you work with light.

CLI

In your terminal

Validate, inspect and convert files, serve a local preview, and export PNG renders and SVG charts.

npm install -g @ies-tools/cli
ies inspect luminaire.ies
ies view luminaire.ldt --open
Read the guide →
React

In your React app

Drop in the 3D light viewer, polar and Cartesian intensity curves, isolux plots and an inspection panel.

import { LightViewer } from '@ies-tools/viewer/react';

<LightViewer src="/lights/luminaire.ies" />
Read the guide →
Web component

On any page

One self-contained <light-viewer> element for plain HTML, Vue, Svelte or a CMS. No framework required.

<script type="module" src="https://cdn.jsdelivr.net/npm/@ies-tools/viewer/dist/light-viewer.js"></script>
<light-viewer src="/lights/luminaire.ies"></light-viewer>
Read the guide →
VS Code

In your editor

Open an .ies or .ldt file to see it lit, with validation and photometric statistics beside the preview.

code luminaire.ies
Read the guide →

VS CODE EXTENSION

Open a file, see it lit.

Open an .ies or .ldt file to get the same live preview beside validation results and photometric statistics. The preview refreshes as you edit the source.

Set up the extension →
The IES light viewer in VS Code cycling through the 3D view and the polar, Cartesian, topology and isolux chart tabs, with validation and photometric statistics in a side panel

MEASURED, NOT GUESSED

The preview follows the data.

The viewer samples the Type C candela table in every direction, then applies inverse-square falloff and the receiving surface's cosine. A narrow spot, a wall washer and an asymmetric street light each look like what their files describe.

It renders on your GPU with WebGL2. The CLI's PNG export confirms the browser reports a hardware renderer and rejects software rasterizers, so exported images are trustworthy.

Explore the photometric graphs →
IES LM-63
1986, 1991, 1995, 2002 and 2019 editions, with embedded tilt data
EULUMDAT
.ldt files, including alternative lamp configurations
Validation
Stable diagnostic codes, a strict mode and JSON output for CI
Conversion
IES ↔ LDT ↔ JSON, with stable codes for each conversion loss
Statistics
Integrated flux, efficacy, peak intensity and beam and field angles
Charts
Polar, Cartesian, 3D intensity topology and isolux ground plots

A TYPED LIBRARY UNDERNEATH

Build your own lighting tools.

@ies-tools/core has no dependencies and runs in Node and the browser. Parse a file, sample intensity in any direction, and serialize to either format.

Browse the API reference →
import { parsePhotometry, sampleIntensity, serializeLDT } from '@ies-tools/core';

// IES or LDT, detected from the content
const document = parsePhotometry(text);

// Candela at γ = 30°, C = 90°
sampleIntensity(document.profile, 30, 90);

const { value, warnings } = serializeLDT(document);