X-PLANE
AIRPORT DATA (APT.DAT) FILE SPECIFICATIONVERSION 1100

REVISION HISTORY
16 Nov 2021

Updated new lines styles added in 11.30, correct wording in rowcode 21 name field

11 April 2019

Updated with new COM frequency capabilities added in 11.30.

14 Feb 2018

Minor corrections to Definition of Data fields

25 Jan 2017

Spec created, based upon prior apt.dat 1050 spec.

APPLICABILITY
This specification (APT.DAT 1100) is supported in X-Plane 11.00 and later and by WorldEditor 1.6b1 and later. The prior specification for airport data was
APT.DAT 1050, which is recommended for X-Plane 10.50+.
This spec is an extension to 1050 – all features in 1050 are fully supported.

SUPPORT FOR DEPRECATED FILE FORMATS
The deprecated file specifications (APT.DAT 1050, 1000) are still supported. A dwindling quantity of custom airport data exists only in this format. So airports
defined according to these specifications can be included in a file otherwise complying with the most recent specification.

OVERVIEW & SCOPE
This specification defines core airport data for X-Plane. This includes the locations of runways, taxiway and apron pavement, basic airport ‘furniture’(VASI/PAPIs, windsocks, light beacons and taxiway signage) and communications frequencies. It also includes attributes for each of these features to fully
describe them (eg. it includes runway surface type, runway markings, taxiway lighting and markings, approach lighting, taxiway sign text, etc).
This specification (1100) introduces new service truck parking and destination features.
This specification does not include scenery objects (such as buildings, static aeroplanes or underlying terrain textures).

X-Plane Airport Data (apt.dat) File Specification Page 1 of 211130 Version, 16-November-2021

BASIC CONCEPTS●●●

Latitudes and longitudes are described in a decimal notation (eg. 20.12345678) up to 8 decimal places.
o A latitude of 50 degrees 30 minutes south would be defined as -50.50000000
North latitudes and east longitudes are positive. South latitudes and west longitudes are negative.
All headings are referenced to true north (not magnetic north).

FILE CHARACTERISTICS
The apt.dat files are plain text files:●●●

Fields in the data can be separated by one or more white space characters (space, tab).
o By default, the files are generated so that columns of data are consistently aligned, but this is not required.
Blank rows are permitted and are helpful to differentiate between airports.
Comments are permitted and are indicated by “#” as the first two characters of a row.

FILE STRUCTURE
It is recommended that all airports be created in WorldEditor (“WED”). This will ensure that all structural requirements listed here for airport data are met.
WED version 1.6 is required to support the features in this spec.
In common with most other X-Plane data file specification, header rows of data define the origin of a particular copy of a file, and define the file specification
version. The file specification may be followed by a reference to a sequential release data cycle and build number for the data, and a copyright message:
I
1000 Version - data cycle 2012.03, build 20121054, metadata AptXP1100.
(robin@xsquawkbox.net)...

Copyright © 2012, Robin A. PeelThe complete copyright message must be left intact if you redistribute this data. The GNU GPL (General Public License) under which this data is released isdesigned to encourage modifications, enhancements and redistribution, even in commercial derivative products.
Subsequent rows of data follow a hierarchical structure:

X-Plane Airport Data (apt.dat) File Specification Page 2 of 211130 Version, 16-November-2021

●●●Each row of data has a numeric ‘row code’ as its first field, to define its content.
The top level of this hierarchy defines an individual airport, defined by an airport header row (a row code of ‘1’, ‘16’ or ‘17’).
Subsequent rows define elements of an airport:o Runways (including helipads) follow the airport header row (one row per runway).
o Pavement (taxiway/apron) definitions have a header row followed by an ordered list of nodes that define its boundaries:▪ Each pavement definition must each have a single boundary with no overlaps with itself.
▪ Nodes on this outer boundary must be defined in a counter-clockwise direction.
▪ Boundaries must be terminated with a node with a row code ‘113’ or ‘114’.
▪ Pavement definitions may overlap with another pavement chunk. But this is not recommended – instead consider precise alignmentof adjacent features by ‘snapping’ nodes to identical locations in World Editor (WED).
● A pavement definition can never overlap with itself.
▪ The sequencing of the pavement definitions is the layering in which they will be rendered in X-Plane, top-down. So the last piece ofpavement in the file will be rendered underneath any others with which it overlaps.
▪ Holes can be defined for pavement (through which the underlying terrain texture will show):● Hole boundaries should follow the termination of the pavement definition in which the hole occurs (starting with a row type‘111’ or ‘112’).
● Hole boundaries are defined in a clockwise direction (ie, opposite direction to the boundary nodes).
● Hole boundaries must form a closed loop (ie. must terminate with a row code ‘113’ or ‘114’).
● Each pavement definition can have zero, one or multiple hole boundaries.
● Hole boundaries must be contained within the outer boundary of the pavement definition.
● Holes cannot overlap each other.
● After creating a hole boundary, it can be ‘filled’ with a new pavement chunk (probably using a different surface type).
o Linear features also have a header row followed by an ordered list of nodes that define the line:▪ Linear features can be closed loops (terminating in a node of type ‘113’ or ‘114’) or just strings (terminating with ‘115’ or ‘116’).
o An airport boundary is defined with nodes in a counter-clockwise direction. A boundary can contain holes (see above) and must form aclosed loop (terminating in a node of type ‘113’ or ‘114’).
o Airport traffic flows have a header row (row code ‘1000’) followed by multiple rows that define rules of multiple classes (time, wind direction,ceiling, visibility, runway in use, VFR traffic pattern) that indicated that a flow should be used (wind rules, minimum ceiling rules, visibility
rules, time rules, and operations rules).
▪ A flow is acceptable if any rule of a class is acceptable, or if there are no rules of a given class. So to permit a flow with no time
restrictions, simply exclude any traffic time rules (row code ‘1004’).
▪ Rules use ‘or’ logic. For example, a flow may have two wind rules (row code ‘1001’) – one for slight winds very generally alignedwith a runway, and one with strong winds only if they are almost exactly with the runway.
▪ A flow will be used only if all its rule classes are ‘passed’.

X-Plane Airport Data (apt.dat) File Specification Page 3 of 211130 Version, 16-November-2021

▪

o

o

The flows are evaluated in sequence. The first flow to ‘pass’ will be used. So, the most specific-but-useful rule should be listed first(eg. parallel VFR approaches on a clear, calm day) and the most general (but least useful) rules should be listed last (eg. a single ILS
cat III approach to a single runway).
▪ If the rules prevent any defined flow from being ‘passed’ then X-Plane’s AI engine will create a flow.
▪ ‘Runway in use’ rules (row code 1100) are also evaluated in sequence. The first ‘runway in use’ rule to ‘pass’ will be used for theparent flow. So rules should be listed in preferential sequence.
Airport taxi routes & networks begin with a row code ‘1200’ and are defined by a set of nodes (row code ‘1201’) and ‘edges’ (the taxi routing)that connect two nodes (row code ‘1202’):▪ Nodes can be defined as ‘init’ (a point at which X-Plane will try to start a taxi route), ‘end’ (where X-Plane will try to end a taxi route),or ‘both’. ‘junc’ can also be used for junctions between taxi routes.
▪ Edges must specify an allowed width, sizes A-E, and may be followed by multiple rows (row code ‘1204) defining an ‘active zone’ ‘forthat parent edge (eg. if the edge conflicts with arrival or departure runways, or an ILS-critical area).
▪ Taxi routings begin or end at ramp locations (row code ‘1300’), which are also available as startup-locations in X-Plane. These
locations may not be directly connected to the taxi route network – X-Plane’s ATC engine will calculate how to direct an airplane
between the taxi route network and each location.
▪ Ground truck route edges (row code ‘1206’), parking locations (row code ‘1400’), and destinations (row code ‘1401’) are included
under row code header ‘1200’ for taxi networks.
Other airport features are defined with one row for each feature.

The file is terminated by a ‘99’:
99

ROW CODES
Each row of data begins with an integer code that defines the type of data:
Row Code

Meaning1
16
17Land airport header
Seaplane base header
Heliport header

100
101
102

RunwayWater runway
Helipad110
120

Pavement (taxiway or ramp) header
Linear feature (painted line or light string) header

X-Plane Airport Data (apt.dat) File Specification Page 4 of 21

Comment

Must form a closed loop
Can form closed loop or simple string

1130 Version, 16-November-2021

130

Airport boundary header

Must form a closed loop

111
112
113
114
115
116

Node
Node with Bezier control point
Node with implicit close of loop
Node with Bezier control point, with implicit close of loop
Node terminating a string (no close loop)
Node with Bezier control point, terminating a string (no close loop)

All nodes can also include a “style” (line or lights)
Bezier control points define smooth curves
Implied join to first node in chain
Implied join to first node in chain
No “styles” used
No “styles” used

14
15
18
19
20
21

Airport viewpoint
Aeroplane startup location
Airport light beacon
WindsockTaxiway sign (inc. runway distance-remaining signs)
Lighting object (VASI, PAPI, Wig-Wag, etc.)

One or none for each airport*** Convert these to new row code 1300 ***One or none for each airport
Zero, one or many for each airport
Zero, one or many for each airport
Zero, one or many for each airport

1000

Airport traffic flow

1001
1002
1003
1004
1100
1110
1101

Traffic flow wind rule
Traffic flow minimum ceiling rule
Traffic flow minimum visibility rule
Traffic flow time ruleRunway-in-use arrival/departure constraints, 10kHz frequency resolution
Runway-in-use arrival/departure constraints, 1kHz frequency resolution
VFR traffic pattern

Zero, one or many for an airport. Used if following rules met (rules of same
type use ‘or’ logic, rules of a different type use ‘and’ logic). First flow to pass
all rules is used.
Zero, one or many for a flow. Multiple rules use ‘or’ logic.
Zero or one rule for each flow
Zero or one rule for each flow
Zero, one or many for a flow. Multiple rules use ‘or’ logic.
First constraint met is used. Sequence matters!
Alternate option to row code 1100.
Zero or one pattern for each traffic flow

1200
1201

Header indicating that taxi route network data follows
Taxi route network node

1202
1204
1205
1206

Taxi route network edge
Taxi route edge active zone
Taxi route edge control
Taxi route edge

1301

Start up location (deprecates code 15)
Start up location metadata1302

Airport identification metadata

Not explicitly connected to taxi route network
Consists of an ICAO width code, an operations type code and zero or more
space separated 3-letter airline codes
Zero, one or many for each airport

1401

Truck Parking Location
Truck Destination Location

Not explicitly connected to taxi route network
Must not allow car pile ups due to bad one way designs

8.33kHz communication frequencies (11.30+)

Zero, one or many for each airport

1300

1400

1050 –1056

X-Plane Airport Data (apt.dat) File Specification Page 5 of 21

Sequencing must be 0 based, ascending by ID. Must be part of one or moreedges.
Must connect two nodes
Can refer to up to 4 runway ends
Replaces 1203
Ground vehicles only

1130 Version, 16-November-2021

50 – 56

Legacy 25kHz communication frequencies

X-Plane Airport Data (apt.dat) File Specification Page 6 of 21

Zero, one or many for each airport. Ignored if row codes 1050-1056 exist.

1130 Version, 16-November-2021

EXAMPLE DATA
Here is some example data for KBFI. It is not real and is very incomplete, but it illustrates examples of most types of data found in an apt.dat file. This data
includes an airport header, runway, water runway, helipad, PAPI, taxiway definition, painted line, viewpoint, startup location, light beacon, windsock, taxiway
sign and an ATC communications frequency:1
21 1 0 KBFI Boeing Field King Co Intl
100 29.87
1
0 0.15 0 2 1 13L 47.53801700 -122.30746100
73.15
0.00 2101 49 1 08 35.04420900 -106.59855700 26 35.04420911 -106.59855711
102 H147.53918248 -122.30722302
2.00
10.06
10.06
1 0
0 0.25 02147.53666659 -122.30585255 2 150.28
3.30 13L PAPI-2L
110 1 0.25 150.29 A2 Exit
111 47.53770968 -122.30849802
111 47.53742819 -122.30825844
3
112 47.53752190 -122.30826710 47.53757385 -122.30824831
3 102
114 47.53768630 -122.30834929 47.53768690 -122.30838150
3 102
120 Line B1
111 47.53969864 -122.31276189 51
111 47.53977825 -122.31255145
1
115 47.54002296 -122.31189878
1447.52917900 -122.30434900 100 0 ATC Tower
15
47.52926674 -122.29919589 304.16 A8 Run Up
18
47.52920400 -122.30412800 1 BCN
1947.53900921 -122.30868700 1 WS
20
47.54099177 -122.31031317 235.71 0 2 {@L}A1{@R}31R-13L
50
12775 ATIS

0 0 1 31R

47.52919200 -122.30000000

110.950.00 20 0 1

Here is some example data for KSEA showing the 1000 version traffic flow and taxi route data:
1000 Calm and South flow
1001 KSEA
000 359 5
1001 KSEA
070 250 999
1002 KSEA
01003 KSEA
01004 0000 2400
1100 16C 11920 arrivals jets|turboprops|props 160340 161161 Arrival 16C
1100 16R 11920 arrivals jets|turboprops|props 341159 161161 Arrival 16R
1100 16L 11920 arrivals heavy 000359 161161 Arrival Heavy Jets
1101 16R right
1200
1201 47.46360812 -122.30613338 both 5416 A_stop
1202 5258 5266 twoway taxiway B
1204 ils 34R
1300 47.43931757 -122.29806851 88.78 gate jets|turboprops A10

Here is some example data for KSEA showing the 1050 metadata and 1100 ground truck additions:
X-Plane Airport Data (apt.dat) File Specification Page 7 of 211130 Version, 16-November-2021

1302 city Seattle
1302 country United States
1302 datum_lat 47.449888889
1302 datum_lon -122.311777778
1302 faa_code SEA
1302 iata_code SEA
1302 icao_code KSEA
1206 107 11 twoway C
1300 47.44158755 -122.30116873
1301 D airline dal
1400 47.44374472 -122.30463464
1401 47.44103438 -122.30382493

44.78 gate jets A3
88.1 baggage_train 3 Svc Baggage
0.0 baggage_train Luggage Train Destination South 2

DEFINITION OF DATA FIELDS
Each column in each row code is defined below, using the example data from KBFI & KSEA shown above. Note that:
●
●

Row

Some row codes store data in an identical specification, and these have been grouped together in the table below.
The specification aims to be consistent. For example, the format or latitudes and longitudes is always the same, and all headings/orientations aredefined as true (not magnetic) degrees.

Meaning
Example value

Comment
Explanation

1

Land airport header

16

Seaplane base header

17

Heliport header

Row codes 1, 16 and 17 share a common format(see below)
Row codes 1, 16 and 17 share a common format(see below)
Row codes 1, 16 and 17 share a common format(see below)

1
21
1
0
KBFI

Boeing Field King Co…

Row code for an airport, seaplane base or heliport
Elevation of airport in feet above mean sea level(AMSL)
Deprecated. Use default value (“0”)
Deprecated. Use default value (“0”)
Airport Identifier. X-Plane internal use only, not used
for user-facing functions, NOT used to determine the“ICAO code” by X-Plane >10.45.. See rowcode 1302.
Use X + local identifier to create fictional on not
Sceney gateway coordinates ID’s.
Airport name. May contain spaces.

X-Plane Airport Data (apt.dat) File Specification Page 8 of 21

Valid values

1, 16 or 17

Use 0
Use 0
Maximum seven characters. Must be qlobally unique.

Text string (up to 40 characters)

1130 Version, 16-November-2021

100

Land Runway
100
29.87
1
0
0.15
0
2
1

Row code for a land runway (the most common)
Width of runway in metres
Code defining the surface type (concrete, asphalt, etc)
Code defining a runway shoulder surface typeRunway smoothness (not used by X-Plane yet)Runway centre-line lights
Runway edge lighting (also implies threshold lights)
Auto-generate distance-remaining signs (turn off ifcreated manually)
The following fields are repeated for each end of the runway
13L
Runway number (eg. “31R”, “02”). Leading zeros are
required.
47.53801700
Latitude of runway end (on runway centerline) in
decimal degrees-122.30746100
Longitude of runway end (on runway centerline) in
decimal degrees
73.15
Length of displaced threshold in metres (this isincluded in implied runway length)
A displaced threshold will always be inside (between)
the two runway ends
0.00
Length of overrun/blast-pad in metres (not included in
implied runway length)2
Code for runway markings (Visual, non-precision,
precision)
0
Code for approach lighting for this runway end
0Flag for runway touchdown zone (TDZ) lighting
1
Code for Runway End Identifier Lights (REIL)

101

Two to three characters. Valid suffixes: “L”, “R” or “C” (or blank)
Eight decimal places supported
Eight decimal places supported
Two decimal places (metres). Default is 0.00

Two decimal places (metres). Default is 0.00
Integer value for Runway Marking Code (see below)
Integer value for Approach Lighting Code (see below)
0=no TDZ lighting, 1=TDZ lighting
0=no REIL, 1=omni-directional REIL, 2=unidirectional REIL

Water runway101
Row code for a water runway
49
Width of runway in metres
1
Flag for perimeter buoys
The following fields are repeated for each end of the water runway
08
Runway number. Not rendered in X-Plane (it’s onwater!)
35.04420911
Latitude of runway end (on runway centerline) in
decimal degrees-106.59855711
Longitude of runway end (on runway centerline) in
decimal degrees

102

100
Two decimal places recommended. Must be >= 1.00
Integer value for a Surface Type Code (see below)
0=no shoulder, 1=asphalt shoulder, 2=concrete shoulder
0.00 (smooth) to 1.00 (very rough). Default is 0.25
0=no centerline lights, 1=centre line lights
0=no edge lights, 2=medium intensity edge lights
0=no auto signs, 1=auto-generate signs

101
Two decimal places recommended. Must be >= 1.00
0=no buoys, 1=render buoys
Valid suffixes are “L”, “R” or “C” (or blank)
Eight decimal places supported
Eight decimal places supported

Helipad102
H1
47.53918248-122.30722302

Row code for a helipad
Designator for a helipad. Must be unique at an
airport.
Latitude of helipad centre in decimal degrees
Longitude of helipad centre in decimal degrees

X-Plane Airport Data (apt.dat) File Specification Page 9 of 21

101
Usually “H” suffixed by an integer (eg. “H1”, “H3”)
Eight decimal places supported
Eight decimal places supported

1130 Version, 16-November-2021

2.00
10.06
10.06
1
0
0
0.25
0

110

Pavement (taxiways)
110
1
0.25
150.29A2 Exit120
130

Linear feature
Airport boundary
120
Line B1

111
112
113
114
115
116

Node
Node
Node
Node
Node
Node
112
47.53752190-122.30826710
47.53757385-122.30824831
3
102

14

Viewpoint14
47.52917900-122.30434900

Orientation (true heading) of helipad in degrees
Helipad length in metres
Helipad width in metres
Helipad surface code
Helipad markings
Code defining a helipad shoulder surface type
Helipad smoothness (not used by X-Plane yet)
Helipad edge lighting

Two decimal places recommended
Two decimal places recommended (metres), must be >=1.00
Two decimal places recommended (metres), must be >= 1.00
Integer value for a Surface Type Code (see below)
0 (other values not yet supported)
0=no shoulder, 1=asphalt shoulder, 2=concrete shoulder
0.00 (smooth) to 1.00 (very rough). Default is 0.25
0=no edge lights, 1=yellow edge lights

Defines an arbitrary pavement shape
Row code for a pavement chunk header (must be
followed by a set of nodes)
Code defining the surface type (concrete, asphalt, etc)
Runway smoothness (not used by X-Plane yet)
Orientation (true degrees) of pavement texture ‘grain’
Description of pavement chunk (not used by X-Plane)

110Integer value for a Surface Type Code (see below)
0.00 (smooth) to 1.00 (very rough). Default is 0.25
Two decimal places recommended
Text string

Painted surface markings & light strings
Boundary for future terrain ‘flattening’
Row code for a linear feature or airport boundary
Description of feature or boundary (not used by
X-Plane)120 or 130
Text string

Node (plain)
Node with Bezier control point
Node (close loop), to close boundary
Node (close loop) with Bezier control point
Node (end) to terminate a line
Node (end) with Bezier control point
Row code for a node. First node must follow anappropriate header row[All nodes] Latitude of node in decimal degrees[All nodes] Longitude of node in decimal degrees[112, 114, 116 only] Latitude of Bezier control point indecimal degrees[112, 114, 116 only] Latitude of Bezier control point indecimal degrees[Not for 115 or 116] Code for painted line type on line
segment starting at this node
[Not for 115 or 116] Code for lighting on line segment
starting at this node

111 thru 116
Eight decimal places supported
Eight decimal places supported
Eight decimal places supported. Ignore for 111, 113, 115
Eight decimal places supported. Ignore for 111, 113, 115
Integer Line Type Code (see below). Not for 115 or 116
Integer Line Type Code (see below). Not for 115 or 116

Maximum of one viewpoint for each airport
Row code for a viewpoint
Latitude of viewpoint in decimal degrees
Longitude of viewpoint in decimal degrees

X-Plane Airport Data (apt.dat) File Specification Page 10 of 21

14
Eight decimal places supported
Eight decimal places supported

1130 Version, 16-November-2021

15

100
0
ATC Tower

Height (in feet) of viewpoint above ground level
Code deprecated. Use ‘0’Name of viewpoint (not used by X-Plane)

Integer0
Descriptive text string (optional)

Startup location

Startup locations for airplanes at an airport

Should be converted to new row code 1300

Row code for a startup location
Latitude of startup location in decimal degrees
Longitude of startup location in decimal degrees
Heading (true) of an aeroplane when positioned atstartup location
Name of startup location (list will be displayed in
X-Plane for each airport)

15
Eight decimal places supported
Eight decimal places supported
Two decimal places recommended

15
47.52926674-122.29919589
304.16A6 Run Up

18

Light beacon
1847.52920400-122.30412800
1

19

20

BCN

Windsock

Multiple windsocks permitted for each airport

Signs
20
47.54099177-122.31031317
235.710
2{@L}A1{@R}31R-13L

21

Maximum of one beacon for each airport
Row code for an airport light beacon
Latitude of beacon in decimal degrees
Longitude of beacon in decimal degrees
Code for type of light beacon. Determines colors of
beacon.
Name of viewpoint (not used by X-Plane)

1947.53900921-122.30868700
1
WS

Lighting objects
21
47.53666659-122.30585255
2
150.28

Short descriptive text string – ten characters or lessRow code for a windsock
Latitude of windsock in decimal degrees
Longitude of windsock in decimal degrees
Flag for windsock lighting
Name of viewpoint (not used by X-Plane)

18
Eight decimal places supported
Eight decimal places supported
Integer Beacon Type Code (see below)
Descriptive text string (optional)

19
Eight decimal places supported
Eight decimal places supported
0=unlit, 1=illuminatedDescriptive text string (optional)

Taxiway signs or runway distance-remaining
signs
Row code for a sign
Latitude of sign in decimal degrees
Longitude of sign in decimal degrees
Orientation of sign in true degrees (heading of
someone looking at sign’s front)
Reserved for future use. Ignore.
Code for sign size
Text to be rendered on sign front and/or back20
Eight decimal places supported
Eight decimal places supported
Two decimal places recommended
0
Integer Sign Size Code (see below)
Text string formatted by Sign Text Definition (see below)

VASI, PAPI, wig-wags, etc.
Row code for a lighting object
Latitude of lighting object in decimal degrees
Longitude of lighting object in decimal degrees
Code for type of lighting object
Orientation of lighting object in true degrees (looking
toward object)

X-Plane Airport Data (apt.dat) File Specification Page 11 of 21

21
Eight decimal places supported
Eight decimal places supported
Integer Lighting Object Code (see below)
Two decimal places recommended

1130 Version, 16-November-2021

3.30
PAPI-2L

1000

Traffic flow
1000
Calm and south flows

1001

Traffic flow wind rule
1001
KSEA
000
359
5

1002

Traffic flow ceiling rule
1002
KSEA
0

1003

Traffic flow visibility
rule
1003
KSEA
0

1004

Traffic time rule
1004
0000
2400

1100

Runway-in-use rule

Visual glideslope angle in degrees
Name of lighting object (not used by X-Plane]

Arrival and departure traffic flows
Row code for an arrival/departure traffic flow
Traffic flow name1000
Descriptive name (max 50 characters)

Zero or multiple wind rules permitted per flow
Row code for a traffic flow wind rule
METAR reporting station (may be a remote airport, eg
KSEA for KBFI)Wind direction minimum (magnetic)
Wind direction maximum (magnetic)
Maximum wind speed. Use 999 for ‘all’ wind speeds.

1001
ICAO code, up to 7 characters000 - 359
000 - 359
0 - 999

Zero or one ceiling rule permitted per flow
Row code for a traffic flow ceiling rule
METAR reporting station (may be a remote airport, eg
KSEA for KBFI)
Minimum reported ceiling in feet AGL at reporting
station

1002
ICAO code, up to 7 characters
Positive integer

Zero or one visibility rule permitted per flow
Row code for a traffic flow visibility rule
METAR reporting station (may be a remote airport, eg
KSEA for KBFI)
Minimum reported visibility in statute miles

1003
ICAO code, up to 7 characters
Float (eg. “1.5”)

Zero or multiple time rules permitted per flow
Row code for a traffic flow time rule
UTC time from which rule is valid
UTC time at which rule ends

1004
0000 - 2400
0000 - 2400

Multiple rules for each flow. First to ‘pass’ is
used

1100
34C
11920
arrivals
jets|turboprops

Row code for a runway-in-use ruleRunway end identifier
Arrival or departure frequency
Rule type (arrivals, departures)
Airplane types to which rule applies

181359On course heading range ((ie. first leg of flight plan for
departures, last leg for arrivals)
Initial ATC assigned departure heading range. Not
used for arrivals.

341341

Two decimal places. 0.00 if not required. Default is 3.00
Short text string (optional)

X-Plane Airport Data (apt.dat) File Specification Page 12 of 21

1100
Two to three characters. Valid suffixes: “L”, “R” or “C” (or blank)
Five digit integer, rounded DOWN where necessary. 10kHz resolution only.
Pipe separated list (“|”). ‘arrivals’ and/or ‘departures’
Pipe-separated list (“|”). Can include “heavy”, ”jets”, “turboprops”, “props” and“helos”
000000 - 359359
000000 - 359359

1130 Version, 16-November-2021

Arrival 34C

1110

Runway-in-use ruleRow code for a runway-in-use ruleRunway end identifier
Arrival or departure frequency
Rule type (arrivals, departures)
Airplane types to which rule applies

181359Arrival 34C

On course heading range ((ie. first leg of flight plan for
departures, last leg for arrivals)
Initial ATC assigned departure heading range. Not
used for arrivals.
Rule name

VFR pattern rule

Zero or one VFR pattern rule permitted per flow

1101
34L
left

Row code for a VFR traffic pattern
Runway end identifier
VFR traffic pattern direction

1200

Taxi routing network(for readability only)

1201

Taxi routing node

All nodes must be used in at least one edge

1201
47.53752190-122.30826710
both
5416
A_start1202

Taxi routing edge
1202
5416
5417
twowaytaxiwayA

1204

Edge active zone
1204

Descriptive name (max 50 characters)

Replaces 1100 row code, supports 8.33kHz radio
frequencies. Multiple rules for each flow. Firstto ‘pass’ is used.

1110
34C
118325arrivals
jets|turboprops

341341

1101

Rule nameRow code for taxi routing network node
Latitude of node in decimal degrees
Longitude of node in decimal degrees
Usage of node in network (begin or end a taxi path, orboth)
Node identifier (defined in 0 based sequence,
ascending)
Node name. Not currently used.

1110
Two to three characters. Valid suffixes: “L”, “R” or “C” (or blank)
Six digit integer, rounded DOWN where necessary, 1kHz resolution
Pipe separated list (“|”). ‘arrivals’ and/or ‘departures’
Pipe-separated list (“|”). Can include “heavy”, ”jets”, “turboprops”, “props” and“helos”
000000 - 359359
000000 - 359359
Descriptive name (max 50 characters)

1101
Two to three characters. Valid suffixes: “L”, “R” or “C” (or blank)“left” or “right”

1201
Eight decimal places supported
Eight decimal places supported“dest”, “init”, “both” or “junc”
Integer. Must be unique within scope of an airport.
String (max 16 characters)

Segment in taxi routing network
Row code for taxi routing network edge
Node identifier for start of edge
Node identifier for end of edge
Edge can be used in both directions
Node is on a regular taxiway. If on “runway” aclearance is needed from ATC
Taxiway identifier. Used to build ATC taxi clearances(eg. “.. .taxi via A, T, Q”)

1202
Integer. Must refer to valid node (row code ‘1201’)
Integer. Must refer to valid node (row code ‘1201’)“twoway” or “oneway”“taxiway” or “runway”
String. Taxiway or runway identifier (eg. “A” or “16L/34R”)

Identifies an edge as in a runway active zone.
Row code for an edge entering a runway active zone

X-Plane Airport Data (apt.dat) File Specification Page 13 of 21

1204

1130 Version, 16-November-2021

arrival
16L,16C

1206

1300

1301

1302

1400

1401

Active zone classification
Runway(s) to which active zone refers

Taxi routing edge(ground vehicles)

Segment in taxi routing network (groundvehicles only)

1206
107
11
twoway(See 1202)(See 1202)(See 1202)(See 1202)

Start up location

Start or end point for aircraft. Not linked to taxi
routing network by edges (row code 1202)

1300
47.44158755-122.30116873
44.78
gate
jets

Row code for taxi route start/end point
Latitude of location in decimal degrees
Longitude of location in decimal degrees
Heading (true) of airplane positioned at this location
Type of location
Airplane types that can use this location

A3

Unique name of location“arrival” or “departure” or “ils”
Comma-separated list up to 4 runway identifies(See 1202)(See 1202)(See 1202)(See 1202)

1300
Eight decimal places supported
Eight decimal places supported
Decimal degrees, true heading“gate”, “hangar”, “misc” or “tie-down”
Pipe-separated list (“|”). Can include “heavy”, ”jets”, “turboprops”, “props” and“helos” (or just “all” for all types)
Text string, must be unique within a single airport

Row Code
1301
dairlinedal

For ramp start metadata
ICAO width code
Operation type
Airline permitted to use this ramp

1301
A, B, C, D, E, F
none, general_aviation, airline, cargo, military
3-letter airline codes (AAL, SWA, etc)

Row Code1302
icao_id
KSEA

Airport metadata
row code
key_value for ICAO code
ICAO for airport

Takes zero, any or all applicable Key_values
icao_id, faa_id, iata_id, city_id, country_id, region_id
Unique identifier up to 7 characters long

Truck Parking
1400

row code

47.44374472-122.30463464
88.1
baggage_train

Latitude of location in decimal degrees
Longitude of location in decimal degrees
Heading (true) of the OBJ positioned at this location
type string

3
Svc Baggage

Name of parking

Truck Destination1401

row code

47.44103438

Latitude of location in decimal degrees

X-Plane Airport Data (apt.dat) File Specification Page 14 of 21

Eight decimal places supported
Eight decimal places supported
Decimal degrees
baggage_loader, baggage_train, crew_car, crew_ferrari, crew_limo, pushback,fuel_liners, fuel_jets, fuel_props, food, gpu
0 to 10 if type is baggage_train, 0 if not
Text string

Eight decimal places supported

1130 Version, 16-November-2021

1050
1051
1052
1053
1054
1055
1056

50
51
52
53
54
55
56

-122.30382493
0.0baggage_train

Longitude of location in decimal degrees
Heading (true) of the positioned at this location
Truck types allowed to end up at this destination

Luggage Train Destination
South 2Name of Truck Destination

ATC – Recorded
ATC – Unicom
ATC – CLD
ATC – GND
ATC – TWR
ATC – APP
ATC - DEP

AWOS, ASOS or ATIS
Unicom (US), CTAF (US), Radio (UK)
Clearance Delivery
GroundTower
Approach
Departure1052
128730ATIS

Row code for ATC COM Frequency
Frequency in kHz, 833kHz capable radio channels only
Descriptive name (displayed on X-Plane charts)

ATC – Recorded
ATC – Unicom
ATC – CLD
ATC – GND
ATC – TWR
ATC – APP
ATC - DEP

AWOS, ASOS or ATIS
Unicom (US), CTAF (US), Radio (UK)
Clearance Delivery
GroundTower
Approach
Departure

51
12775
ATIS

Row code for an ATC COM frequency
Frequency in MHz x 100 (eg. use “12322” for123.225MHz)
Descriptive name (displayed on X-Plane charts)

Eight decimal places supported
Decimal Degrees, true heading
Pipe separated list (“|”). Include 1 or more of the following baggage_loader,baggage_train, crew_car, crew_ferrari, crew_limo, pushback, fuel_liners, fuel_jets,
fuel_props, food, gpu
Text string

Supercedes row codes 50-56.
118000 - 135995
Short text string (10 characters or less recommended)

50 thru 56 (see above)
Five digit integer, rounded DOWN where necessary
Short text string (recommend less than 10 characters)

CODES
Codes used to define airport data:
Codes
Code value

Comment
Code meaning

Surface Type CodeSurface type of runways or taxiways

1
2
3
4

Code applicability

Asphalt
Concrete
Turf or grass
Dirt (brown)

X-Plane Airport Data (apt.dat) File Specification Page 15 of 211130 Version, 16-November-2021

5
12
13
14
15

Runway Marking Code
0
1
2
3
4
5

Approach Lighting Code0
1

Gravel (grey)
Dry lakebed (eg. At KEDW)
Water runways
Snow or ice
Transparent

Markings on runway
No runway markings
Visual markings
Non-precision approach markings
Precision approach markings
UK-style non-precision approach markings
UK-style precision approach markings

7

British - High intensity

Calvert ILS Cat II and Cat II
British - High intensity with red side bar lights (barettes) the last 1000’
Barettes align with TDZ lighting

SSALR
●
●

6

High intensity Approach Light System with sequenced Flashing lights
Red side bar lights (barettes) the last 1000’, that align with TDZ lighting.

Calvert●●5

High intensity Approach Light System with sequenced flashing lights

ALSF-II●
4

UK uses distinctive touch-down zone markings
UK uses distinctive touch-down zone markings

No approach lighting
ALSF-I●●
3

Disused runways appear like taxiways

Approach lighting systems●
2

Example: KEDW (Edwards AFB)
Nothing displayed
Poor friction. Runway markings cannot be added.
Hard surface, but no texture/markings (use in custom scenery)High intensity, Simplified Short Approach Light System
With Runway Alignment Indicator Lights (RAIL)

SSALF
●
●

High intensity, Simplified Short Approach Light System
With sequenced flashing lights●

High intensity, Short Approach Light System

SALS

X-Plane Airport Data (apt.dat) File Specification Page 16 of 211130 Version, 16-November-2021

8

MALSR
●
●

9

MALSF
●

10

12

Line Type Code

Medium-intensity Approach Light System with sequenced flashing lights

MALS
●

11

Medium-intensity Approach Light System
With Runway Alignment Indicator Lights (RAIL)

Medium-intensity Approach Light System

ODALS
●
●

Omni-directional approach light system
Flashing lights, not strobes, not sequenced●●

Runway Alignment Indicator Lights
Sequenced strobes and green threshold lights, with no other approach lights

RAIL

Painted lines and light strings
Note that for all linear features that involve runway entrance hold lines and associated lights (4, 5, 6, 103 & 104 below), the runway is
assumed to be to the LEFT of the string and the taxiway to the RIGHT (looking along string from its first node)

0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
51-64

Nothing.
Solid yellow line
Broken yellow line
Double solid yellow lines
Two broken yellow lines and two solid yellow lines. Broken line on left of string.
Broken yellow line with parallel solid yellow line. Broken line on left of string.
Yellow cross-hatched line
Solid yellow line with broken yellow line on each side
Widely separated, broken yellow line
Widely separated, broken double yellow line
wide version of line #1 - wide single solid yellow
wide version of line #7 - ILS crucial centerline
wide version of line # 4 - Runway holdwide version of line #5 - other hol;dwide version of line #6 - ILS holdsame as Line types 1-14 above, with added black border

Taxiway centre lines
Miscellaneous boundaries
Taxiway edge lines
Runway hold positions
Other (non-runway) hold locations
ILS hold
Taxiway centerlines in runway safety zones
Mark ‘lanes’ for queuing aeroplanesMark ‘lanes’ for queuing aeroplanes
Taxiway centerline on large airports
ILS hold on on large airports
Runway hold position at large airports
Other hold location at large airports
ILS hold location at large airports
Use on concrete surfaces for higher contrast

19

Very wide yellow bars

Taxiway shoulders

20
21

Solid white line
White chequerboard pattern

Roadway edges
Roadway edges crossing aircraft movement areas

X-Plane Airport Data (apt.dat) File Specification Page 17 of 211130 Version, 16-November-2021

22
23
24
25
30
31
32
40
41
42
70-92

Broken white line
Short spaced broken white line
wide version of line #20 - solid whitewide version of line #22 - broken whitesolid red line
dashed red line
wide solid red line
solid orange line
solid blue line
solid green line
same as Line type 20-42 above, with added black border

101
102
103
104
105
106
107
108

Note that lights added to the edge boundary of a piece of pavement (or hole) will be placed off the edge of the pavement (about one meter).
Green embedded lights, bidirectional along string axis
Taxiway centrelines
Blue lights, omnidirectional
Taxiway edge
Closely spaced, embedded amber lights. Unidirectional to right of string
Hold lines
Closely spaced, pulsating embedded amber lights. Unidirectional to right of string
Runway hold lines
Alternating green and amber embedded lights, bidirectional along string axis
Centerlines in runway safety zones
Red lights, omnidirectional
Edge lights in dangerous/critical zones (eg. on bridges)
Unidirectional green lights embedded
Taxiway lead-off lights on runways
Unidirectional, alternating green & amber lights embedded
Taxiway lead-on lights in runways

Beacon Type Code
0
1
2
3
4

Sign Size Code
1
2
3
4
5

Lighting Object Code
1
2
3
4
5
6

Roadway centreline
Roadway edges

Airport light beacons
No beacon. Suppresses automatic creation of beacon by X-Plane.
White-green flashing
White-yellow flashing
Green-yellow-white flashing
White-white-green flashing

Use a dummy airport lat/lon for the location.
Civilian land airport
Seaplane base
Heliport
Military airport

Taxiway sign sizes & types
Small taxiway signMedium taxiway sign
Large taxiway sign
Large distance-remaining sign on runway edge
Small distance-remaining sign on runway edge

Alternatively, can be auto generated for a runway
Alternatively, can be auto generated for a runway

Lighting objects
VASI
PAPI-4L (four-light) on left of runway
PAPI-4R (four light) on right of runway
Space Shuttle PAPI, 20 degree glidepath
Tri-colour VASI
Runway guard (“wig-wag”) lights

X-Plane Airport Data (apt.dat) File Specification Page 18 of 21

Location is centre point between the two VASI units
Left-handed: red indication appears first on right 2 lights
Right-handed: red indication appears first on left 2 lights
Deprecated. Use normal PAPI with an appropriate angle.
Pulsating double amber lights alongside runway entrances

1130 Version, 16-November-2021

TAXIWAY SIGN TEXT DEFINITION
The text on taxiway signs follows a specification shared with the FlightGear flight simulator.
In summary, the text and images on a taxiways sign are represented in X-Plane by:●●●

Instructions define the style of the text and images on the sign. These are always prefixed with the "@" symbol:
o Black lettering on a yellow background (direction signs) ("@Y").
o Yellow lettering on a black background (location signs) ("@L").
o White lettering on a black background (runway distance-remaining signs) ("@B").
o White lettering on a red background (runway holding point signs) ("@R").
o Instructions must be included inside curly braces (eg. “{@Y}”)
Single-character glyphs define a series of numbers or characters on the sign. These translate one-to-one to the text on the sign. The only allowable
single characters are:o The numbers "0" through "9", for all sign styles.
o The uppercase letters "A" through "Z". Only UPPERCASE characters are allowed! No letters are allowed on distance remaining signs.
o The following single-character symbols are allowed for runway ("@R") and location ("@Y") signs only:▪ Space (represented by an underscore "_")▪ Large dot (represented by an asterisk ("*")▪ Vertical separator (represented by the vertical bar "|") (also referred to as a "frame separator")▪ Period, comma, slash and hyphen (".", ",", "/" and "-")
Multi-character glyphs define symbols:o Directional arrows (eg. "^lu" for a left-up arrow, "^rd" for a right-down arrow) are allowed for red ("@R") and yellow ("@Y") signs only.
o The only allowable arrows are: "^l", "^r", "^u", "^d", "^lu", "^ld", "^ru", "^rd"▪ Note that for diagonal arrows, the left/right must precede the up/down. For example, "^dr" is invalid.
o ILS-critical boundary ("critical"). These do not require a sign style.
o Runway safety zone boundary ("safety"). These do not require a sign style.
o No-entry symbols ("no-entry"). These do not require a sign style.
o Hazard (end of taxiway) ("hazard"). These do not require a sign style.
o Switch sides - flip to the back of the sign and start a new text string for the back ("@@")o Roman numerals (for ILS categories, such as "CAT III") ("r1", "r2" and "r3") are allowed for red ("@R") and yellow ("@Y") signs only.
o Multi-character glyphs must be included inside curly braces (eg. “{r1}”)

There are rules about how these three types of data must be structured on a taxiway sign:●●

Instructions and single-character glyphs must be UPPERCASE.
Multi-character glyphs must be lowercase

X-Plane Airport Data (apt.dat) File Specification Page 19 of 211130 Version, 16-November-2021

●●

Instructions and multi-character glyphs must be enclosed in curly braces ("{}"), to distinguish them from a set of single-character glyphs.
o If there are multiple consecutive instructions and/or multi-character glyphs, they can be separated within the same set of curly braces by acomma (eg. “{@Y,^l}”)Spaces are not allowed. Spaces on the sign itself are represented by the underscore ("_") character.

Examples of sign text:
Sign

Sign type

Text to generate this sign

Direction sign{@Y}A{^r}Location sign{@L}T

Location and direction sign{@L}A{@Y,^l}E{^r}Complex sign{@Y,^l}E|{^lu}F{@L}A{@Y}T{^ru}|E{^r}

Direction sign{@Y}MIL{^r}

Direction to runway{@Y}27*33{^r}

Direction to multiple
runways{@Y}{^l}5|13{^u}Runway hold{@R}15-33

Runway crossing{@R,^ld}5-23{^ru}|{^lu}9-27{^rd}Runway approach area{@R}15-APCH

Location & runway hold{@L}T{@R}18-36

Runway safety areaboundary●●

ILS critical zone boundary{critical}

Hazard (end of taxiway){hazard}

X-Plane Airport Data (apt.dat) File Specification Page 20 of 21{safety}
If on back of a runway hold sign (above) would be: {@L}T{@R}18-36{@@}{safety}

1130 Version, 16-November-2021

Distance remaining

●
●

{@B}3
Distance from opposite end of runway might be on back of sign: {@B}3{@@}7

Common errors in sign text:
These are the most common errors found in airport submissions:
●
●
●
●
●
●
●

Using a space instead of an underscore symbol for a space in direction (@Y) and runway (@R) signs (eg. "{@Y}RWY 04{^ru}")
Using spaces or underscores in location (@L) signs (eg. “{@L}STAND_24”). These are not allowed.
Forgetting the "@" symbol that prefixes an instruction (eg. "{Y}RWY_04{^ru}")
Using lower case text for single-character glyphs (eg. "{@Y}Rwy_04{^ru}")
Invalid diagonal arrows - the left/right must precede the up/down (eg. "{@Y}RWY_04{^ur}")Forgetting the "^" symbol that prefixes an arrow (eg. "{@Y,ru}B{@L}B")
Mismatched curly braces (do not use regular parentheses) (eg. "{@Y}RWY_04(^ru}"). These are hard to spot!

If there are errors in the text on a taxiways sign, then X-Plane will not render the sign. Such errors are identified and logged in the log.txt file in your X-Plane
system folder. Look for log entries such as:
Syntax error - unknown glyph at B{@L}B
Syntax error - missing closing brace.
(in sign '{@L}B5{@R}NO_ENTRY{@Y}{@@}{@Y,ru}B{@L}B')

FURTHER INFORMATION
Resources are available for airport designers at the X-Plane Scenery Gateway at http://gateway.x-plane.com/

X-Plane Airport Data (apt.dat) File Specification Page 21 of 211130 Version, 16-November-2021