Anatomy of an IES file
Every line in the file, what it means, and where the value comes from.
What an IES file is
An IES file is a plain text file that describes how a luminaire sends out light.
The standard ANSI/IES LM-63 defines it. A photometric laboratory writes the file after it measures the luminaire.
Lighting design and rendering programs read the file. It is the common format in North America.
The file has two parts. A block of keywords holds names and labels. A block of numbers holds the measured light.
Anatomy
A complete example file. The values are invented. The notes on the right explain each block.
1 IESNA:LM-63-2002
2 [TEST] EL-2026-0417
3 [TESTLAB] Example Photometric Laboratory
4 [ISSUEDATE] 2026-09-01
5 [MANUFAC] Example Lighting
6 [LUMCAT] EX-DL-150
7 [LUMINAIRE] Round downlight, 150 mm lens
8 [LAMPCAT] LED-12W-3000K
9 [LAMP] LED module 12 W 3000 K
10 [BALLAST] Constant-current driver 350 mA
11 [MAINTCAT] 4
12 [OTHER] Example file for the IESDesk Learn page.
13 [MORE] Values are invented. Do not use them for design.
14 [SEARCH] DOWNLIGHT ROUND LED
15 [_PROJECT] Learn page
16 TILT=NONE
17 1 -1 1.0 3 1 1 2 -0.15 -0.15 0
18 1.0 1 12.5
19 0 45 90
20 0
21 850 420 0
- Line 1 names the standard edition. Programs read it first.
- Lines 2 to 15 are keywords. Each keyword sits in square brackets. The four required keywords come first: TEST, TESTLAB, ISSUEDATE, MANUFAC.
- Line 16, TILT=NONE, ends the keyword block. It says the output does not change with tilt.
- Line 17 holds ten numbers: lamps, lumens per lamp, multiplier, angle counts, photometric type, units, and the three luminous-opening dimensions.
- Line 18 holds the ballast factor, a reserved value, and the input watts. LM-63-19 files put the file generation type in the middle position.
- Line 19 lists the vertical angles. Line 20 lists the horizontal angles.
- Line 21 lists the candela values, one block per horizontal angle.
- Every line ends with a carriage return and a line feed (CRLF), as LM-63-19 section 6.0 requires. The example file follows this rule.
Where the numbers come from
| Source | Fields |
|---|---|
| Data sheet | Manufacturer, catalog number, description, lamp, driver, watts, units, dimensions. |
| Test report | Test number, laboratory, test date, lamp count, lumens, factors, angles, candela values. |
| Lab software | Version line, TILT line, photometric type, file generation type. |
| Your choice | Issue date, search words, comments, custom keywords. |
Each field below carries its source label.
Dimensions and planes
The C-planes
Picture the luminaire hanging with the light pointing down.
Cut it with vertical planes, like the segments of an orange. Each cut is a C-plane.
C0 and C180 are the two halves of one cut. C90 and C270 are the cut at right angles.
The gamma angle runs inside one plane. It starts at 0° straight down and ends at 180° straight up.
IES files call the C-plane the horizontal angle and the gamma angle the vertical angle.
Which way is the length
IES and LDT put the front at different angles
In an IES file, the length lies along 0°–180° (LM-63-19, clause 5.10 and Figure 1). The width lies along 90°–270°.
In an IES file, 0° is the direction in front of the luminaire (LM-63-19, definition 3.6). In an LDT file, the front is at C90 (EN 13032-1, Annex D), and the LDT length lies along C90–C270.
So a correct IES file is turned by 90° against the LDT file of the same luminaire: IES 0° holds the light of C90. Both formats count the horizontal angles in the same direction (LM-75-19, section 5.4.3), so the turn is not a mirror. The two length axes are then the same axis. A plain conversion that keeps the angle numbers is not turned. See IES and LDT compared.
How to read a dimension drawing
- Open the product drawing. Find the plan view, seen from below.
- Measure only the luminous opening, not the housing. IES has no housing fields.
- Length runs along 0°–180°. Width runs along 90°–270°.
- Height is 0 for a flat opening. Enter a height only when the sides glow.
- Choose the units: 1 for feet, 2 for metres. Most files use metres.
- For a round or curved opening, make the dimension negative. See the shape table.
See Dimensions and orientation for full drawings of ten luminaire types.
Shape
The sign of each dimension encodes the shape: positive for a straight side, negative for a round or curved side. See the shape table for the 15 shapes of LM-63-19 Table 1.
The example downlight uses -0.15 -0.15 0: a 150 mm circle, flat.
Colour
LM-63-19 has no keyword for colour temperature, colour rendering, or chromaticity. [COLORCONSTANT] is for glare calculations. It is not light colour. A text keyword such as [LAMP] can name the colour only in words.
LM-63-19, section 1.0, states that this edition is the last update of LM-63. TM-33-23 replaces it.
TM-33-23 holds colour for each emitter: colour temperature (section 4.5.9), CIE Ra and R9, TM-30 Rf and Rg, Duv (section 4.5.11), spectral data (section 4.5.17), and chromaticity for each angle (section 4.5.18).
- Ra is the CIE score for colour rendering. TM-33-23, section 4.5.10.1, holds it for each emitter.
- R9 is one CIE colour sample, the hardest red to render well. TM-33-23, section 4.5.10.1, holds it too.
- TM-30 adds two scores: Rf for colour fidelity and Rg for saturation, against a reference light (TM-30-24, section 3). TM-33-23, section 4.5.10.2, holds them.
Value: no colour field. Write the colour in words in [LAMP]. Example: LED module 24 W 4000 K. Standard LM-63-19 has no colour keyword
Value: a company keyword can hold a number for your own tools. Example: [_CCT] 4000. Programs keep it and ignore it. Standard LM-63-19, Annex A
See the colour section of IES and LDT compared.
How to write values
- A number uses a decimal point. A comma separates values, and so does a space (LM-63-19, section 3.2). So
0,5reads as two numbers, 0 and 5. Standard - Five numbers are whole numbers: the number of lamps, the two angle counts, the photometric type, and the units type. Every other number can carry a decimal point (LM-63-19, section 6). Standard
- Write dimensions in feet or in metres, as the units type says. Never use millimetres. Standard
- LM-63-19 sets no date form. Write an unambiguous date, such as
2026-09-01. The date7/2/2019means 2 July in the United States and 7 February in Europe. Common practice - Each line ends with a carriage return and a line feed, CR and LF (LM-63-19, section 6). Standard
Field reference
Every field in file order. Each entry gives the meaning, an example, and a common mistake.
Version line
-
IESNA:LM-63-2002Lab software -
The first line names the standard edition. Programs read it to choose the parser rules. Example: IESNA:LM-63-2002. The newest edition writes IES:LM-63-2019. LM-63-19, section 1.0, is the last update of the LM-63 standard. TM-33-23 replaces it.
Value: fixed text, exactly IES:LM-63-2019 for the current edition. Example:
IES:LM-63-2019. Standard section 5.1
Required keywords
-
[TEST]Test report -
The test report number from the laboratory. Example: EL-2026-0417. Mistake: leaving it empty; LM-63-02 requires it.
Value: text, required. Example:
EL-2026-0417. Standard section 5.2 -
[TESTLAB]Test report -
The laboratory that measured the luminaire. Example: Example Photometric Laboratory.
Value: text, required. Example:
Example Photometric Laboratory. Standard section 5.2 -
[ISSUEDATE]Your choice -
The date the manufacturer issued this file. Example: 2026-09-01. Mistake: putting the test date here; that goes in [TESTDATE].
Value: date as text, required, no form set. Example:
2026-09-01. Common practice LM-63-19, section 5.2 requires the keyword -
[MANUFAC]Data sheet -
The company that makes the luminaire. Example: Example Lighting. Mistake: putting the laboratory name here.
Value: text, required. Example:
Example Lighting. Standard section 5.2
Product keywords
-
[LUMCAT]Data sheet -
The catalog or article number of the luminaire. Example: EX-DL-150. Many programs show this value as the file name.
Value: text, each keyword once. Example:
EX-DL-150. Standard Annex B -
[LUMINAIRE]Data sheet -
A short description of the luminaire. Example: Round downlight, 150 mm lens.
Value: text, each keyword once. Example:
Round downlight, 150 mm lens. Standard Annex B -
[LAMPCAT]Data sheet -
The catalog number of the lamp or LED module. Example: LED-12W-3000K.
Value: text, each keyword once. Example:
LED-12W-3000K. Standard Annex B -
[LAMP]Data sheet -
A description of the lamp: type, watts, colour. Example: LED module 12 W 3000 K.
Value: text, each keyword once. Example:
LED module 12 W 3000 K. Standard Annex B -
[BALLAST]Data sheet -
The driver or ballast description. Example: Constant-current driver 350 mA.
Value: text, each keyword once. Example:
Constant-current driver 350 mA. Standard Annex B -
[BALLASTCAT]Data sheet -
The catalog number of the driver or ballast.
Value: text, each keyword once. Example:
BC-350-01. Standard Annex B
Characteristic keywords
-
[MAINTCAT]Test report -
A digit from 1 to 6 for the IES maintenance category. It tells how fast dirt reduces the output. Example: 4.
Value: whole number, 1 to 6. Example:
4. Standard LM-63-19, Annex B -
[DISTRIBUTION]Test report -
A general description of the light distribution. Example: Direct, medium beam.
Value: text, each keyword once. Example:
Direct, medium beam. Standard Annex B -
The light-emitting area seen under 76°, in square metres. Glare calculations use it. Most files omit it.
Value: decimal, square metres. Example:
0.012. Standard Annex B -
[COLORCONSTANT]Test report -
A value used in CIE glare calculations. Most files omit it.
Value: decimal, no unit stated. Example:
0.8. Common practice LM-63-19, Annex B states the field; no unit is set -
[LAMPPOSITION]Test report -
Two angles that give the lamp direction inside the luminaire. Example: 0 0 for a lamp aimed straight down. See LM-63-02 Annex E.
Value: two decimals, degrees: horizontal 0 to 359.99, vertical 0 to 180. Example:
0 0. Standard Annex E -
[NEARFIELD]Test report -
Three distances that show the test used near-field photometry. Most files omit it.
Value: three decimals, no unit stated. Example:
0.5,1.2,1.2. Standard Annex B
Other keywords
-
[TESTDATE]Test report -
The date of the photometric report. Example: 2026-08-20.
Value: date as text, no form set. Example:
2026-08-20. Common practice LM-63-19, Annex B states the field -
[OTHER]Your choice -
Free text about the file. Example: Example file for the IESDesk Learn page.
Value: text. Example:
Example file for the IESDesk Learn page. Standard Annex B -
[MORE]Your choice -
Continues the keyword above it when the text needs another line. Mistake: using [MORE] as the first line of a note.
Value: text, continues the keyword before it; may repeat. Example:
[MORE] second line. Standard Annex A -
[SEARCH]Your choice -
Words that help a program find this file. Example: DOWNLIGHT ROUND LED.
Value: text. Example:
DOWNLIGHT ROUND LED. Standard Annex B -
[FILEGENINFO]Lab software -
A note about how the file was made: the software, or how the lumens were scaled. LM-63-19 added it.
Value: text. Example:
Exported by Example Lab Software v3.2. Standard Annex B -
[_KEYWORD]Your choice -
A keyword that starts with an underscore holds company data. Example: [_PROJECT] Learn page. Programs keep it and ignore it.
Value: text; name starts with an underscore, no spaces, at most 20 characters with the brackets. Example:
[_PROJECT] Learn page. Standard Annex A
TILT line
-
TILT=Lab software -
This line ends the keyword block. TILT=NONE means the output does not change with tilt. TILT=INCLUDE means a tilt table follows. TILT=filename points to a separate .tlt file; LM-63-19 removed this option. Most LED files use TILT=NONE.
Value: fixed text: NONE or INCLUDE. Example:
TILT=NONE. Standard section 5.3
Lamp and geometry line
Ten numbers on one line, in this order.
-
Number of lampsTest report -
The number of lamps in the luminaire. Example: 1.
Value: whole number, 1 or more. Example:
1. Standard section 5.4 -
Lumens per lampTest report -
The rated lumens of one lamp. -1 means absolute photometry: the candela values are measured, not scaled to a rated lamp. LED files usually use -1.
Value: decimal, lumens; -1 means absolute photometry. Example:
-1. Standard section 5.5 -
Candela multiplierTest report -
A factor applied to every candela value. Usually 1.0.
Value: decimal, usually 1.0. Example:
1.0. Standard section 5.6 -
Number of vertical anglesTest report -
How many vertical angles the file lists. Example: 3.
Value: whole number, 2 or more. Example:
3. Standard section 5.7 -
Number of horizontal anglesTest report -
How many horizontal angles the file lists. Example: 1 for a luminaire that is symmetric in all planes.
Value: whole number, 1 or more. Example:
1. Standard section 5.8 -
Photometric typeLab software -
1 for Type C, 2 for Type B, 3 for Type A. Almost all luminaire files use Type C.
Value: whole number: 1 = Type C, 2 = Type B, 3 = Type A. Example:
1. Standard section 5.9 -
Units typeData sheet -
1 for feet, 2 for metres. The three dimensions use this unit. Mistake: entering millimetres with units type 2.
Value: whole number: 1 = feet, 2 = metres. Example:
2. Standard section 5.10.1 -
WidthData sheet -
The luminous opening measured along the 90°–270° axis. Example: -0.15 for a 150 mm circle. Negative means round or curved; see the shape table. LM-63-19, section 5.10.2.
Value: decimal, feet or metres; negative means round (Table 1). Example:
-0.15. Standard sections 5.10 and 5.11 -
LengthData sheet -
The luminous opening measured along the 0°–180° axis. Example: -0.15. The names follow the axes, not the shape. The length can be the shorter side. LM-63-19, section 5.10.3.
Value: decimal, feet or metres; negative means round (Table 1). Example:
-0.15. Standard sections 5.10 and 5.11 -
HeightData sheet -
The height of the luminous opening. 0 for a flat opening. Enter a value only when the sides glow. LM-63-19, section 5.10.4.
Value: decimal, feet or metres; 0 for a flat opening, negative for a round or curved shape (Table 1). Example:
0. Standard sections 5.10 and 5.11
Ballast and watts line
-
Ballast factorTest report -
The lamp output on the real driver divided by the output on the reference driver. 1.0 when unknown, and for LED.
Value: decimal, usually 1.0. Example:
1.0. Standard section 5.12 -
Reserved value or file generation typeLab software -
In LM-63-02 this value is reserved and always 1. In LM-63-19 it is the file generation type. The code says how the file was made: a test, a simulation, or a scaled result. LM-63-19, section 5.13, Table 2, lists ten codes: 1.00001 undefined, 1.00010 computer simulation, 1.00000 unaccredited laboratory, 1.10000 accredited laboratory, and codes for a lumen-scaled result and for interpolated angles. In an older LM-63-02 file, read the version line first: the value 1 there is only the reserved value.
Value: decimal code: one of the 10 Table 2 codes. Example:
1.10000. Standard section 5.13 -
Input wattsData sheet -
The total power the luminaire draws, driver included. Example: 12.5.
Value: decimal, watts, driver included. Example:
12.5. Standard section 5.14
Angles and candela values
-
Vertical anglesTest report -
The vertical angles, from 0° straight down. Example: 0 45 90.
Value: decimals, degrees, rising; Type C starts at 0 or 90. Example:
0 45 90. Standard sections 5.15 and 5.16 -
Horizontal anglesTest report -
The horizontal angles, from 0°. A single 0 means symmetric in all planes. A last value of 90 means symmetric in each quadrant. 180 means symmetric about 0°–180°. 360 means no symmetry.
Value: decimals, degrees, rising; Type C ends at 0, 90, 180, or 360. Example:
0 90 180. Standard sections 5.15 and 5.16 -
Candela valuesTest report -
The measured intensity in candela, one block per horizontal angle. Each block lists one value per vertical angle. Example: 850 420 0. These numbers come from the laboratory only.
Value: decimals, candela; one block for each horizontal angle. Example:
850 420 0. Standard section 5.17
A polar diagram draws these intensity values as a curve. A cone diagram and an isolux diagram show the light that they give on a surface.
Sources
- ANSI/IES LM-63-19. The current IES standard: the keyword list, Table 1 shapes, Figure 1 axes, Table 2 file generation type codes, and the removal of TILT=filename.
- ANSI/IESNA LM-63-02. The earlier edition. The same 15 shapes. LM-63-19 added [FILEGENINFO].
- IES, Learn about IES files. A plain-language overview.
- IES TM-33-23. The IES XML format that replaces LM-63-19 and holds colour for each emitter.
- ANSI/IES LM-75-19. Section 5.4.3: the IES Type C system counts horizontal angles clockwise seen from below a downward luminaire, so counterclockwise seen from above. Section 3.25: it is the same system as the CIE C-planes of an LDT file.
- EN 13032-1:2004+A1:2012. Clause 4.2.3: the C-planes. The axis of a linear lamp is at right angles to the C0 plane, so it lies along C90–C270. Annex D: the 90° plane of a road luminaire crosses the road. The 270° plane of a wall luminaire or a floodlight goes through the mounting.
- CIE 121:1996, section 2.8. The LDT rule: length along C90–C270.
- DIALux evo, Description of the EULUMDAT format. The LDT line list and the symmetry values.
- AGI32 Photometric Toolbox, EULUMDAT file format. The LDT line list, second reference.
- Viso Systems, Dimensions of lighting fixtures in .IES and .LDT files. The orientation drawings, and the 90° turn between the two laboratory styles.
- schorsch.com, Online converter for luminaire data files, help. The two habits for a long luminaire: C0 along the short axis in LDT, along the long axis in IES.