1. What this tool does
MGL EFIS systems (iEFIS, XTreme, Enigma, and related) read their airports, navaids, fixes, airspace and obstacles from one binary file called navidata (NAVIDATA.EWD). MGL Central can make this file, but poses some challenges for new users and is not completely configurable when merging data sources.
This builder reads free public data files from the FAA and navaid.com, combines them, lets you choose what to include, and writes a navidata file ready for the SD card or simulator use.
- Runs entirely in your browser. Your files are never shared.
- Nothing to install. Open the page, add files, build, download.
- Reference use only. See the disclaimer on the main page, and always check against current official publications.
2. Input data sources
The recommended source dataset is all FAA data: CIFP + NASR + DOF. NaviBuilder will automatically download FAA data for you from either the current cycle or the preview cycle.
You need at least one of CIFP, NASR or GPX; DOF is optional. For consistent data, download CIFP and NASR for the same 28-day cycle. The results warn you if they don't match.
| Source | Format | What it provides | What it lacks | Where to get it |
|---|---|---|---|---|
FAA CIFPFAACIFP18 |
Fixed-width ARINC 424-18 text | Airports (position, elevation, name, IFR status), runways and thresholds, VOR / DME / TACAN / NDB navaids with frequencies, enroute and terminal fixes, Class B / C / D and special-use airspace. The AIRAC cycle is read from its header. | Airport radio frequencies, runway surfaces, offshore platforms. | FAA Aeronautical Information Services, “Coded Instrument Flight Procedures (CIFP)”. Download the current cycle's zip and use the FAACIFP18 file inside. Updated every 28 days. |
FAA NASR28DaySubscription….zip |
Zip containing CSV tables | Airport frequencies (tower, ground, CTAF, ATIS, AWOS/ASOS…), runway surfaces and threshold data, navaids, fixes, and airports not in CIFP (mostly private fields and heliports). Closed airports and shut-down navaids are left out. | Airspace, offshore platforms. Some private strips have a CTAF only in text remarks, which can't be used. | FAA “28 Day NASR Subscription”. Download the subscription zip for the current cycle and load it as-is: don't unzip it. Updated every 28 days. |
FAA DOFDOF.DAT |
Fixed-width text | Obstacles (towers, wind turbines, buildings, power line towers…) with height above ground (AGL) and above sea level (AMSL), type and lighting. | Everything else. | FAA “Digital Obstacle File”. Download the full file and use DOF.DAT. Updated every 56 days. |
navaid.com GPX (optional)*.gpx |
GPX XML | The only source of offshore platforms. Also airport frequencies, runway surfaces, navaids and fixes, largely derived from NASR. | Airspace. Not FAA data, and it can still list navaids the FAA has decommissioned. | navaid.com: make a waypoint export in GPX format for your region. It's under “Optional” in Step 1. |
Identifiers
CIFP uses ICAO identifiers where they exist (KOSH, PANC, PHNL) and FAA identifiers otherwise (0WA1, 1G4). Each CIFP airport record also carries its FAA code, so FAA 3-letter codes are matched without guessing: OGG → PHOG, PPG → NSTU.
3. Step by step
Step 1: Add data files
Click each box and choose the prescribed file. Files are only read when you build.
- Download FAA data: on the hosted site, one click fetches CIFP, NASR and DOF straight from the FAA and fills in the three boxes. Choose Current or Preview (next cycle; the FAA posts no preview DOF, so the latest one is used). The button is hidden when running locally with
npm run serve. - CIFP and DOF accept the FAA zips as downloaded or the plain files (
FAACIFP18,DOF.DAT). NASR takes the subscription zip, or its CSV zip. - Advanced: rebuild from an edited project instead of FAA files; see section 8.
Step 2: Waypoint type mapping
Choose which kinds of CIFP records go into the file, and which MGL symbol each gets.
| Preset | Includes | Use for |
|---|---|---|
| VFR (default) | Airports, navaids, charted VFR waypoints. No IFR fixes. | VFR flying. Smallest file. |
| IFR | Airports, navaids, VFR waypoints, enroute C, I, R and W fixes (as intersections), enroute other codes (as OTHER NAV), terminal combined fixes (as reporting points) and terminal R fixes (as intersections). | IFR flying. Can exceed the 20,000-waypoint EFIS limit in busy areas such as Atlanta and Chicago. |
| Custom | Shows every category so you can set each, starting from the preset you had selected. | Fine-tuning. Read section 6 first. |
Step 3: CIFP + NASR merge
Leave on Recommended unless you have a reason to change it. Custom shows each option; see section 5.
Step 4: Build
- Cycle code: filled in from the CIFP header; not editable.
- Include obstacles: Yes adds obstacles from the DOF file. No leaves them out and skips reading the file.
- Min obstacle height (AGL ft): obstacles shorter than this above the ground are left out. 200 ft keeps about 183,000 of 632,000 US obstacles.
- Save as:
NAVIDATA.EWD(primary) orSNAVI.EWD(secondary navidata). The contents are the same.
4. How CIFP records become MGL waypoints
ARINC 424 is the standard format for aviation navigation databases; CIFP is the FAA's ARINC 424-18 file. Each 132-character line is one record, and its type decides where it goes:
| CIFP record | Meaning | Goes into navidata as |
|---|---|---|
| PA / HA | Airport / heliport | Airport waypoint + airport info record |
| PG | Runway end | Runway (two ends paired, e.g. 07L with 25R) |
| D / DB / PN | VHF navaid / enroute NDB / terminal NDB | Navaid waypoint with frequency |
| EA | Enroute fix | Fix waypoint, if its category is imported |
| PC / HC | Terminal fix at an airport / heliport | Fix waypoint, if its category is imported |
| UC / UR | Controlled / restrictive airspace | Airspace (arcs and circles turned into polygons) |
| PD, PE, PF, ER, PS, PI, PP… | SIDs, STARs, approaches, airways, MSA, localizers, path points | Not stored: navidata has no defined format for them |
Airports
| Category | Rule | Default MGL symbol |
|---|---|---|
| Major airport | On the built-in list of about 400 US commercial-service airports | MAJOR AIRPORT |
| IFR airport | CIFP marks it IFR | AIRPORT |
| VFR / small | Everything else | AIRFIELD |
| Seaplane base | All runways are water lanes | SEAPLANE BASE |
| Heliport | HA record | HELIPORT |
Fixes
The ARINC waypoint type letter means different things in enroute (EA) and terminal (PC/HC) records, so they are separate options.
| Enroute code | Meaning (FAA CIFP usage) | Terminal code | Meaning |
|---|---|---|---|
| W | RNAV fix (satellite-based) | W | Terminal RNAV fix |
| R | Named fix defined by ground navaids (radials/DME); radar fixes too | R | Ground-based terminal fix |
| C | Both ground- and satellite-based | C | Combined terminal fix |
| V | VFR checkpoint | A | ATC fix |
| I / U / N | Unnamed charted / uncharted airway intersection / NDB used as a waypoint | A, B, C, D, I, K, L, M, N (2nd position) | Approach function (FAF, IAF…). FAA CIFP doesn't currently use these. |
CNF (Computer Navigation Fixes, names ending “(CNF)”) are internal FMS/ATC points and are off by default.
5. How CIFP and NASR are merged
NASR entries are matched to CIFP records by identifier (ICAO or FAA id, so KOSH and OSH both match). For each field you choose a policy. The same options apply to GPX when you use it instead of NASR.
| Policy | Result |
|---|---|
| CIFP only | Always use CIFP; ignore NASR. |
| NASR only | Always use NASR, even if that leaves a field blank. |
| Fill gaps | Keep CIFP; use NASR only where CIFP is empty. |
| Overwrite | Use NASR wherever it has a value; otherwise keep CIFP. |
Recommended settings: frequencies from NASR (fixed, since CIFP has none); runway surfaces from NASR, shortened to 4-character codes (ASPH, CONC, TURF…); elevation, names and runway geometry from CIFP; runways only in NASR (water lanes, helipads) added.
The yes/no options add records that are not in CIFP: airports (mostly private fields and heliports), navaids (mostly TACANs and DMEs) and fixes. Fixes follow your Step 2 choices, and a fix CIFP has but Step 2 skips is never brought back. Offshore platforms come only from GPX (off by default). Every record is tagged with its source (CIFP, NASR, CIFP+NASR, GPX, DOF, or combinations such as CIFP+NASR+GPX) so you can filter by it in the results.
6. EFIS limits: keeping the database usable
The file itself can be large. What matters is how the EFIS loads it:
- 20,000 nearby waypoints. The EFIS keeps a list of waypoints within about 10 geographic degrees of the aircraft and builds the “nearest” list from it. The list holds at most 20,000; beyond that the rest are never loaded. Because the file is sorted west to east, the eastern part is what gets dropped, so a close airport can be missing from the nearest list while a manual search still finds it.
- The list is shared: primary navidata first, then
SNAVI.EWD, then user waypoints. A dense primary file can push the others out. - 800 points per airspace. Longer outlines are cut off. This tool simplifies outlines to stay under 400.
- Airspace memory. Decoded airspace shares about 10 MB of map memory with the vector map; the tool keeps point counts modest.
Waypoints in the area the EFIS loads, around busy US areas (sample CIFP, before GPX):
| Preset | Waypoints in file | Near Atlanta | Near Chicago | Near Oshkosh |
|---|---|---|---|---|
| VFR | 21,333 | 11,063 | 11,174 | 9,738 |
| IFR | 43,129 | 22,186 | 20,723 | 18,169 |
7. Results, editing and download
- Summary cards: Airports, Navaids, Fixes, Airspaces, Obstacles and file size. Click a card for a searchable list with source filters.
- ℹ on a row opens the full record. You can edit airport and waypoint names and airport frequencies, and delete any record or frequency. Save & rebuild writes a new file straight away without re-reading the source files.
- Breakdowns: CIFP by Step 2 category, CIFP record types, NASR and GPX record types, and DOF obstacle types show what was imported and what wasn't.
- Downloads: the navidata file, the build log (every input, setting, count and skipped record, plus the EFIS density check: the busiest 10° area against the 20,000 limit), data (CSV) and project (JSON). The last two can be edited and loaded back; see section 8.
- After a rebuild from a project, an Import problems list shows every skipped or corrected row.
8. Exporting, editing and re-importing
For advanced users: download the built data, change it, and load it back to make a new navidata file. The CSV zip suits spreadsheets; the JSON project is one exact file for text editors and scripts. Both hold the same data, including airspace outlines and obstacles, and either rebuilds an identical file if nothing is changed.
What's in the CSV zip
| File | One row per | Columns |
|---|---|---|
airports.csv | Airport | id, name, type, lat, lon, elevation_ft, source |
frequencies.csv | Airport frequency | airport, type (max 4 characters), mhz, description |
runways.csv | Runway | airport, designation, length_ft, width_ft, surface, bearing, lat1, lon1, elev1_ft, lat2, lon2, elev2_ft |
navaids.csv | Navaid | id, name, type, lat, lon, mhz, elevation_ft, source |
fixes.csv | Fix | id, name, type, lat, lon, source |
airspaces.csv | Airspace | id, name, icao, type, class, lower, upper, source |
airspace_points.csv | Outline point | airspace_id, ring, seq, lat, lon: points are joined in seq order for each airspace_id and ring |
obstacles.csv | Obstacle | type, lat, lon, agl_ft, amsl_ft, lighting |
The zip also has navibuilder.json (format version, cycle and your settings) and the build log. The JSON project holds the same records, with frequencies and runways inside each airport and outlines inside each airspace.
Editing
- Delete a row to remove a record; add a row to add one. Frequencies and runways belong to the airport named in their
airportcolumn; outline points to the airspace inairspace_id. - Types are names such as
AIRPORT,VOR/DME,NDB,INTERSECTION,WAYPOINT,REP-PT(MGL type numbers also work). Obstacle types and lighting use names likeTOWER. - Airspace limits:
SFC,GND,1200 AGL,4000 MSL(or just4000),FL180,UNL. - Limits: IDs up to 6 characters and unique; names up to 27 (longer ones are shortened); airspace outlines up to 800 points. The 20,000 nearby-waypoint limit still applies, so check the density line in the build log.
09/27 and leading zeros aren't changed; save as CSV UTF-8. The importer repairs common damage anyway: 9/27 becomes 09/27, 118.5 is read as 118.500, and semicolon-separated files and a byte-order mark are accepted.Loading it back
In Step 1, open Advanced: rebuild from an edited NaviBuilder project and choose the CSV zip, the JSON file, or all 8 edited .csv files selected at once. A CSV project must be complete, because the rebuild replaces the whole database; to leave out a kind of data (for example obstacles), keep its file but delete every row except the header. The project replaces the FAA files, so Steps 2 and 3 are skipped (they're dimmed). Click Build Navidata; Remove project goes back to FAA files.
Rows with errors are skipped and the build continues. The results list each one with its file, row and reason; entries starting "warning" were corrected and kept.
| Message | Fix |
|---|---|
| id "…" is used more than once | Every airport, navaid and fix needs its own ID. |
| id "…" is longer than 6 characters | Shorten it; the EFIS holds 6. |
| type "…" is not a known waypoint type | Use one of the type names above. |
| type "…" is an airport type | Move the row to airports.csv. |
| latitude / longitude "…" is not between … | Use decimal degrees, west and south negative. |
| airport "…" is not in airports.csv | A frequency or runway names an airport that doesn't exist; fix the ID. |
| lower/upper limit "…" not understood | Use one of the limit formats above. |
| airspace "…" has no outline with at least 3 points | Check its rows in airspace_points.csv. |
9. Installing on the EFIS
- Copy the downloaded
NAVIDATA.EWD(orSNAVI.EWD) to the SD card. - Insert it in the EFIS and install it from the Install tasks menu.
- You can also open the file in the EFIS Simulator or MGL Central to inspect it.
10. Troubleshooting
| Symptom | Likely cause and fix |
|---|---|
| Nearest list is unsorted or missing close waypoints | Over 20,000 waypoints nearby. Use VFR, or turn off fix categories. |
| Fixes don't show on the map | EFIS declutter settings hide intersections except at close zoom. Zoom in or change declutter. |
| An airport has no frequencies | Frequencies come only from NASR (or GPX). Many private strips have none in NASR; some list a CTAF only in a text remark, which the tool can't use. |
| Cycle code is blank | No CIFP file was loaded (the cycle comes from its header); that's valid. |
| Build button is disabled | Add a CIFP, NASR or GPX file, or a project file under Step 1 → Advanced. |
| Rows skipped when rebuilding from a project | See the Import problems list or the build log for each row and reason; see section 8. |
| Runway numbers or IDs changed after editing in Excel | Excel reformats some values. Import the CSV as text columns (see the Excel tip in section 8). |
| "This project uses format version …" | The project came from a newer version of the tool. Reload the page (Ctrl+F5) to get the latest. |
| Build log shows "Skipped: id over 6 characters" | A NASR or GPX record had an ID longer than the EFIS allows; it's left out. |
| Warning that CIFP and NASR cycles differ | Download both for the same 28-day AIRAC cycle. |
| "No CSV_Data folder in this zip" | Load the full 28-day NASR subscription zip as downloaded, not one of the files inside it. |