Interactive specification
The OpenAir airspace format, made legible.
A line-oriented, plain-text language for describing airspace as points, circles and arcs. It has no single formal grammar — this reference reconciles the maintained Naviter/SeeYou spec, the openAIP parser, and the original Winpilot definition into one place you can actually read and test.
What OpenAir describes
Each airspace is a block of records that begins with an AC (airspace class) record and runs until the next AC or end of file. A block carries metadata records — name, ceiling, floor, frequency — and one or more geometry records that trace its horizontal boundary.
Two dialects coexist. v1 (original / Winpilot) defines the core airspace and terrain records. v2 / v2.1 (extended / Naviter) adds structured metadata — airspace type, frequency, station, activation times, transponder code — and a version header. v2.1 is the current, actively maintained dialect.
Lines, headers & comments
Plain text, one record per line, UTF-8. A record is a 1–2 letter prefix, a space, then its argument(s). Both CRLF and LF line endings should be tolerated.
Header (v2+)
*VERSION: 2.1 *WRITTEN_BY: We-Fly
The * prefix marks a comment to end of line; v1 parsers ignore the header harmlessly.
AC or EOF. Blank lines and comments between airspaces are optional and inconsistent — never treat a blank line as a required separator, and remember comments can appear between coordinates.Two notations, one datum
Coordinates are written latitude longitude, each with a hemisphere letter, in WGS84. Both notations below must be accepted; the hemisphere letter may be attached or space-separated.
| Notation | Latitude | Longitude | Example |
|---|---|---|---|
| DMS deg:min:sec | DD:MM:SS[N|S] | DDD:MM:SS[E|W] | 53:47:06N 008:21:41E |
| DDM deg:dec-min | DD:MM.mmm[N|S] | DDD:MM.mmm[E|W] | 39:36.8N 119:46.1W |
Ceilings & floors (AH / AL)
A value is a number plus a reference datum, or a symbolic keyword. Values are in feet unless stated. A trailing ft is optional and inconsistently present.
| Token | Meaning | Applies to |
|---|---|---|
UNL | Unlimited / no upper bound | AH (ceiling) |
GND, SFC | Ground / surface = 0 AGL | AL (floor) |
FL<n> | Flight level — hundreds of feet @ 1013.25 hPa | both |
<n> AMSL / MSL | Feet above mean sea level | both |
<n> AGL | Feet above ground level | both |
STD | Standard-pressure reference (pairs with FL) | both |
AMSL (Naviter/openAIP) and MSL (Winpilot) are equivalent — accept both. Examples: AH FL145, AH UNL, AL 1000ft AMSL, AL GND.
Every record type
Filter by name or code, or narrow by category. Categories mirror an aeronautical chart legend — colour encodes what a record does.
Airspace class values
The AC record carries an ICAO class letter or a legacy token. In the extended dialect, structural nature (CTR, TMA, danger…) moves to AY, leaving AC for the ICAO class — but older files overload AC. Accept both.
| Value | Meaning | Group |
|---|---|---|
A–G | ICAO airspace classes A through G | ICAO |
UNC | Unclassified | ICAO |
R | Restricted | Legacy |
P | Prohibited | Legacy |
Q | Danger | Legacy |
GP | Glider prohibited | Legacy |
CTR | Control zone | Legacy |
W | Wave window | Legacy |
Airspace type values v2 / v2.1
The AY record gives the structural airspace type, complementing the ICAO class in AC. Known values:
Paste OpenAir, read it back in English
Edit the file on the left. Every line is parsed live — the record code is colour-coded by category, coordinates are converted to decimal, and altitudes are spelled out. Unknown lines are flagged.
Be permissive on input, strict on output
- Block delimiters. Rely only on
ACas the boundary. Never require blank lines; never treat comments as separators. - Arc winding.
DA/DBdepend on the currentV D=. Reset direction before each arc; a missingV D=means clockwise (+). - Center lifetime.
V X=persists until reassigned. A circle/arc with no precedingV X=is malformed — reject, don't guess. - Radius units.
DC/DAradii andV W=width are all nautical miles, unit omitted. - Altitude synonyms. Accept
AMSL≡MSL,GND≡SFC, optionalft;UNLonly as a ceiling. - Coordinate notation. Support DMS and DDM, hemisphere attached or detached.
- Unknown records. Skip unrecognised prefixes rather than failing the whole file.
- Polygon closure. Polygons are implicitly closed; don't assume the last
DPrepeats the first.
v1 vs v2 / v2.1
| Feature | v1 (Winpilot) | v2 / v2.1 (Naviter) |
|---|---|---|
Header *VERSION, *WRITTEN_BY | — | ✓ |
AC AN AH AL AT | ✓ | ✓ |
Geometry DP DC DA DB DY | ✓ | ✓ (DY rare) |
Variables V X= D= W= Z= | ✓ | ✓ |
Terrain/drawing SP SB TO TC | ✓ | ignored |
AY type | — | ✓ |
AF freq, AG station | — | ✓ |
AI id, AA activation, AX transponder | — | ✓ |
| Altitude datum spelling | MSL / SFC | AMSL / GND / STD |