RoutesFlown Open the app

HomeGuides › Private jet flights

Fractional & private

Your legs arrive one statement at a time

Fractional and charter flying produces beautiful travel history and a terrible record of it: a monthly PDF, a portal that forgets, and no single picture of where you've actually been. This fixes that.

  • Upload supported
  • 31,000+ airports
  • Includes GA fields

Ask a fractional owner how many legs they flew last year and you'll usually get a shrug and a rough guess. It isn't carelessness — the information genuinely is scattered. Each operator hands you activity a month at a time, in a format designed for accounting rather than memory.

Private flying makes an unusual map

It looks nothing like a commercial one, and that's most of the appeal. Airline maps are hub-heavy: a dozen big fields, over and over. Private maps are the opposite — one home base and a long tail of places no scheduled carrier serves.

A RoutesFlown map of a fractional owner's year: one large hub at Teterboro with routes fanning out to Aspen, Centennial, Palm Beach, Savannah, Nantucket and John Wayne
A fractional year, mapped — one home base, a long tail of fields

That's why the airport database behind RoutesFlown is the full one, not a list of commercial hubs. It covers roughly 31,000 airports including general-aviation fields, and it accepts either code style — so ASE and KASE both land on Aspen, and the small fields that never had an IATA code at all still resolve by their ident.

31,000+Airports, GA included
IATA + ICAOEither code works
20+Operators built in

The operators are already in the list

Pick your operator from the same dropdown as the airlines, and the map colours that leg in their own scheme — useful the moment you've flown with more than one:

There's a free-text option too, so a one-off charter or a friend's aircraft doesn't break the pattern. Operator names are used only to label and colour your own legs.

Getting your flights in

If you fly twenty legs a year, typing them is genuinely quicker than anything clever. Past that, upload.

YOUR EXPORT { } FLIGHTS.JSON IMPORT
Statement or spreadsheet, converted once, imported in a click
  1. Get your legs into a list

    Your operator's owner portal is the place to start — monthly statements, flight activity reports, or an occupied-hours summary. Between them you'll usually have the date, the two airports, the tail number and the aircraft type for every leg. A PDF is fine; you only need the leg table out of it.

  2. Convert it to a flights file

    RoutesFlown imports a JSON file. The format is deliberately small — five keys, two of them required — so converting from a spreadsheet or a statement takes one step.

  3. Import it

    Open the app, scroll to the bottom of the left panel, and click Import. Pick your file. Every leg draws at once, and the counters fill in immediately.

  4. Keep it

    Sign in with just an email address — no password — and the map syncs to your other devices. Until you do, everything stays in your own browser.

The file format

Deliberately small, so a conversion is one step rather than a project.

flights.json — the shape the Import button reads

[
  {
"from": "KTEB",
"to": "KASE",
"date": "2026-02-14",
"airline": "NetJets",
"aircraft": "Challenger 350"
  },
  {
"from": "KASE",
"to": "KAPA",
"date": "2026-02-17",
"airline": "NetJets",
"aircraft": "Challenger 350"
  }
]

from and to are the only required fields. Everything else is optional: leave date out and the leg still draws, it just won't sit on the timeline. Codes can be IATA (ASE) or ICAO (KASE) — both resolve to the same field.

Turning a CSV or a statement into that file

# Paste your rows into any AI assistant with this:
Convert the flight records below into a JSON array.
One object per leg, with the keys:
  from, to, date, airline, aircraft
- from / to  = departure and arrival airport codes, uppercase
               (IATA or ICAO, whichever the source uses)
- date       = YYYY-MM-DD
- airline    = the operator name, e.g. "NetJets"
- aircraft   = the type, e.g. "Challenger 350"
Return only the JSON, nothing else.
Then paste my rows below.

Save what comes back as flights.json, then hit Import. If a code is wrong or a field isn't in the database, that one leg simply won't draw — the rest of your map is unaffected, and you can fix it in the flight list.

Statements often list the tail number but not the type. Both are worth keeping — put the type in the aircraft field and the map works out your most-flown aircraft for the year, which is usually the stat people find most surprising.

What you get at the end

Where your flights live. Until you sign in, your map is stored in your own browser and never leaves the device. Signing in syncs it to your account so you can open it elsewhere. Nothing is connected to an operator, an airline, or a logbook service, and a map is private until you choose to share a link.

Put every leg on one map

Import your statements or add legs by hand. Free, and no account needed to start.

Open RoutesFlown →

Keep reading: A flight map for pilots · How to map every flight you've flown