Soaring Tasks

X-Plane FMS File Format

Summary info on x-plane.com

Overview

The X-Plane FMS flightplan file (typically <plan name>.fms) contains the navigation details for a planned flight, i.e. the reference to departure and destination airfields (and, optionally, runways) and intermediate waypoints.

The format allows selection of 'waypoints' as either aeronautical references (such as ICAO code for an airport) or as user-specified lat/long/alt points.

Example

This is the simple flightplan illustrated in the image at the top of this page.

I
1100 Version
CYCLE 1801
ADEP 1N7
ADES 1N7
NUMENR 4
1 1N7 ADEP 372.000000 40.971134 -74.997505
28 Catfish_Pond DRCT 1713.316528 41.038837 -74.996765
1 14N DRCT 3000.000000 40.844261 -75.635468
1 1N7 ADES 372.000000 40.971134 -74.997505

FMS File Format

Header Section

I File type identifier, required I
<version number> Version Version of X-Plane supported, '3' or '1100' 1100 Version
CYCLE <cycle number> date-code for regulatory info, AIRAC cycle number CYCLE 1801

Departure Section

Depart from Airport

ADEP <ICAO code> Airport ICAO code ADEP 1N7

Depart from user lat/long point

Destination Section

Destination Airport

Destination as user lat/long point

Enroute Section

NUMENR  <count> Number of en-route points NUMENR 4

Previous format

credit: https://flightplandatabase.com/dev/specification

Introduction

The X-Plane FMS file format is not officially documented anywhere. Therefore, this file specification is unofficial and the current best known outline of the format. This specification has been tested thoroughly on X-Plane versions 8, 9 and 10. From X-Plane 11, a new file format has been introduced that is not backwards compatible with this specification.

Throughout this specification the following file will be used for examples. Clearly this is not a real flight plan and is only here to highlight as much of the specification as possible:

I
3 version
1 
4 
1 EDDM 0.000000 48.364822 11.794361 
2 GL 1000 57.083820 9.680093 
3 KFK 2000 38.803889 30.546944
11 DETKO 0.600000 28.097222 49.525000 
28 +13.691_+100.760 0.000000 13.691230 100.760811

Header

I
3 version
1 
4

The first two lines cover the source computer OS and the version of the specification the file is built to. A letter 'I' represents a file built on a PC, whilst a letter 'A' represents one built on an Apple computer; there is full compatibility between the two, so either will work across either OS. All FMS files I have come across for X-Plane 8 and 9 use the version 3.

I
3 version

The following two lines each contain an integer value. The first number is almost exclusively a '1' and the second number varies with the number of waypoints and appears to be number of waypoints minus 1, although I have not seen any adverse effects from using a different number here.

1
4

Waypoints

The remainder of the file consists of a number of waypoints that mark out the route for the FMC. Each row is made up of five segments that define the location, altitude, type and ID of the waypoint. The elements within each row can be either tab or space delimited.

1 EDDM 0.000000 48.364822 11.794361 
2 GL 1000 57.083820 9.680093
3 KFK 2000 38.803889 30.546944
11 DETKO 0.600000 -28.097222 -49.525000
28 +13.691_+100.760 0.000000 13.691230 100.760811

Type

The initial integer on each row defines of what type the waypoint is. The available options are as follows:

1 - Airport ICAO 
2 - NDB 
3 - VOR 
11 - Fix 
28 - Lat/Lon Position 

These are the only waypoint type values seen in flight plans. Other values do not work with the FMC and are not intended for use in .fms files.

2 GL 1000 57.083820 9.680093 NDB
3 KFK 2000 38.803889 30.546944 VOR
11 DETKO 0.600000 -28.097222 -49.525000 FIX

ID

This element contains the ID for the waypoint and defines what title shows up on the FMC. For all waypoints except the lat/lon type it should consist of only alphanumeric characters.

1 EDDM 0.000000 48.364822 11.794361 
3 KFK 2000 38.803889 30.546944

The lat/lon type is special in that it has a strict predefined format and also makes use of the +,-,. and _ symbols. The format used is as follows, each '0' character represents a single digit that must be present; the first set of zeros corresponds to the latitude value and the second to the longitude. The '+' character can be substitued for the '-' character for waypoints in the southern or western hemispheres, although positive numbers cannot omit the '+' symbol.

 28 +00.000_+000.000 0.000000 0.000000 0.000000

+12.345_+009.459 Correct for a waypoint at 12.345°/0.459°.
-28.478_-056.370 Correct for a waypoint at -28.478°/-56.370°.
12.366_040.101 Incorrect: '+' or '-' symbol is required, even if values are positive.
-16.982 +112.006 Incorrect: '_' symbol is required to separate the two values.
-98.283_+200.554 Incorrect: the latitude numbers must be in the range -90 to 90.
and the longitude values must be in the range -180 to 180.
+6.080_-9.412 Incorrect: the leading digits are required even when they are zero.
28 +13.691_+100.760 0.000000 13.691230 100.760811

Altitude

The altitude value set here is displayed on the FMC and can additionally be used to set the autopilot altitude through VNAV. The units are feet and the maximum value is 99999; any number greater than this should still work but will cause issues with the display of the value in the FMC and on the A/P. The value may also have up to 6 decimal places, but these will be rounded to the nearest integer when displayed in X-Plane.

11 DETKO 0.600000 28.097222 49.525000 Will be rounded to 1
11 DETKO 1000000 -28.097222 -49.525000 Will not display properly, but should still work

Location

The final two values are the latitude and longitude values that make up the location of the waypoint. They are in decimal degrees and support up to six decimal places. As with the ID values, the latitude value should be in the range -90° to 90° and the longitude value should be in the range -180° to 180 °.

1 EDDM 0.000000 48.364822 11.794361
2 GL 1000 57.083820 9.680093
3 KFK 2000 38.803889 30.546944
11 DETKO 0.600000 -28.097222 -49.525000
28 +13.691_+100.760 0.000000 13.691230 100.760811

Padding

After all of the waypoints are defined, the file may contain a number of blank lines with the following format. These can be omitted or included at your discretion.

 0 ---- 0.000000 0.000000 0.000000