FSX & FSX: Steam Edition 5 min read

How do I export a list of installed aircraft from FSX?

Adam McEnroe
In short

Export a list of installed FSX aircraft to CSV with PowerShell, including liveries, rotorcraft and add-ons in custom SimObjectPaths.

In FSX and FSX: Steam Edition, export either the aircraft folders or each [fltsim.x] entry inside aircraft.cfg. PowerShell can scan SimObjects\Airplanes and SimObjects\Rotorcraft and save a CSV. Add custom aircraft paths from FSX’s active configuration file so add-ons are not omitted.

FSX has no built-in command for exporting its aircraft catalogue. A folder scan is enough for a quick installation audit; parsing the configuration files produces a more useful list resembling the aircraft selector.

Which FSX aircraft list should you export?

Choose a folder inventory for installed packages, or a configuration inventory for individual aircraft and liveries.

Export typeWhat one row representsBest used for
Folder inventoryOne folder beneath Airplanes or RotorcraftChecking installations, backups and duplicate folders
Configuration inventoryOne [fltsim.x] variationRecording selector names, liveries, models and texture variants

One aircraft folder can contain several liveries, so the configuration export normally has more rows. Conversely, a folder inventory can include broken or AI-only aircraft that never appear in Aircraft Selection.

How do I export FSX aircraft folder names to CSV?

A single PowerShell command can export every immediate aircraft subfolder to a CSV on the Windows desktop.

  1. Locate the aircraft roots. Standard installations use SimObjects\Airplanes and SimObjects\Rotorcraft, but the FSX base folder varies between boxed installations, Steam libraries and custom locations. Our guide to locating the active aircraft folders in boxed FSX and Steam Edition explains where to look.
  2. Replace both example paths. Each path must point directly to an Airplanes, Rotorcraft or equivalent custom aircraft directory.
  3. Open Windows PowerShell. Normal user permissions are sufficient; the command only reads the installation and writes a file to the desktop.
  4. Run this command:

    $roots = @('C:\Path\To\FSX\SimObjects\Airplanes','C:\Path\To\FSX\SimObjects\Rotorcraft'); $out = Join-Path ([Environment]::GetFolderPath('Desktop')) 'FSX-aircraft-folders.csv'; Get-ChildItem -LiteralPath $roots -Directory | Select-Object @{Name='Class';Expression={$_.Parent.Name}},Name,FullName | Sort-Object Class,Name | Export-Csv -Path $out -NoTypeInformation -Encoding UTF8; Invoke-Item $out

The resulting FSX-aircraft-folders.csv contains the category, folder name and full path. It can be opened in a spreadsheet or retained as a plain installation record.

How do I include aircraft names and liveries?

Parse every [fltsim.x] section when you need the aircraft names and variations shown by FSX rather than just folder names.

Replace the two example roots below, adding more quoted paths when necessary, then run the command in PowerShell:

$roots = @('C:\Path\To\FSX\SimObjects\Airplanes','C:\Path\To\FSX\SimObjects\Rotorcraft') | Where-Object { Test-Path -LiteralPath $_ }; function Get-CfgValue { param([string]$Body,[string]$Key); $pattern = '(?im)^\s*' + [regex]::Escape($Key) + '\s*=\s*(.*?)\s*(?:;.*)?$'; $m = [regex]::Match($Body,$pattern); if ($m.Success) { return $m.Groups[1].Value.Trim().Trim([char]34) }; return '' }; $rows = foreach ($root in $roots) { Get-ChildItem -LiteralPath $root -Directory | ForEach-Object { $folder = $_; $cfg = Join-Path $folder.FullName 'aircraft.cfg'; if (Test-Path -LiteralPath $cfg) { $text = Get-Content -LiteralPath $cfg -Raw; foreach ($block in [regex]::Matches($text,'(?ms)^\s*\[fltsim\.(\d+)\]\s*(.*?)(?=^\s*\[|\z)')) { $body = $block.Groups[2].Value; [pscustomobject]@{ SourceRoot=$root; Class=(Split-Path $root -Leaf); Folder=$folder.Name; Section=('fltsim.{0}' -f $block.Groups[1].Value); Title=(Get-CfgValue $body 'title'); Manufacturer=(Get-CfgValue $body 'ui_manufacturer'); Type=(Get-CfgValue $body 'ui_type'); Variation=(Get-CfgValue $body 'ui_variation'); Model=(Get-CfgValue $body 'model'); Texture=(Get-CfgValue $body 'texture') } } } } }; $out = Join-Path ([Environment]::GetFolderPath('Desktop')) 'FSX-installed-aircraft.csv'; $rows | Sort-Object Manufacturer,Type,Variation,Title | Export-Csv -Path $out -NoTypeInformation -Encoding UTF8; Invoke-Item $out

Each row represents one configuration variation. title is its unique internal identity, while ui_manufacturer, ui_type and ui_variation supply the selector-friendly description. The model and texture suffixes help distinguish liveries sharing one aircraft folder.

For aircraft stored outside the standard directories, inspect the [Main] section of the active FSX configuration file for SimObjectPaths.n= entries. Resolve relative entries from the FSX installation folder and add only those paths containing aircraft subfolders. When boxed FSX and Steam Edition coexist, make sure you inspect the configuration used by the edition being inventoried.

Why does the exported list not match the FSX aircraft selector?

A disk inventory and the FSX aircraft selector measure different things, so an exact row-for-row match is not expected.

  • Several liveries can share one folder. The folder export reports one package, while the configuration export reports every [fltsim.x] entry.
  • FSX may be filtering variations. Manufacturer, category and variation settings can hide entries that are present on disk. See our explanation of reconciling installed variations with the Aircraft Selection screen.
  • AI or non-user-selectable aircraft can be found. Parsing files proves that a configuration entry exists; it does not prove that FSX treats it as a flyable aircraft.
  • Custom SimObjectPaths can be missed. Add every aircraft path used by the active FSX configuration, not just the two default directories.
  • The aircraft may be installed one folder too deep. If the top-level aircraft folder contains another aircraft folder instead of aircraft.cfg, the configuration scan skips it and FSX will not load it normally. Compare it with the expected add-on aircraft folder structure.
  • The configuration can be malformed. Duplicate titles, repeated section numbers, missing UI fields or damaged entries can produce blank CSV columns or aircraft that fail to appear. Before correcting them, review how aircraft.cfg entries identify each installed variation and back up the original file.
AI Assistant New

Still stuck? Ask Fly Away

Ask Fly Away is our AI flight-sim assistant. Ask your exact question and get a direct, step-by-step answer in seconds — free to try.

Ask Fly Away Free preview · unlimited for PRO members