Generate beautiful flight path maps from IATA airport codes. A free CLI tool powered by OpenFreeMap and MapLibre GL JS.
npx @flightseatmap/flightmap JFK-LHR LHR-DXB DXB-SYD --style dark --output trip.png
npm install -g @flightseatmap/flightmapOr run without installing:
npx @flightseatmap/flightmap LAX-HNDFirst run downloads a headless Chromium (~150 MB) via Playwright.
flightmap <route>... [options]A route is a pair of IATA airport codes joined with a hyphen (e.g. JFK-LHR). Pass as many as you want — they all render on the same map.
Single route:
flightmap JFK-LHRMulti-leg trip:
flightmap JFK-CDG CDG-FCO FCO-JFKRound-the-world:
flightmap LAX-NRT NRT-SIN SIN-DXB DXB-LHR LHR-LAX --style dark --width 2000Save as interactive HTML instead of PNG:
flightmap SFO-SYD --html --output trip.html| Flag | Default | Description |
|---|---|---|
-o, --output <file> |
flightmap.png |
Output file path |
-s, --style <style> |
positron |
Map style: liberty, positron, bright, dark, fiord |
-w, --width <px> |
1600 |
Image width |
-H, --height <px> |
900 |
Image height |
--html |
off | Output a standalone interactive HTML file |
--no-watermark |
watermark on | Hide the flightseatmap.com watermark |
-V, --version |
Print version | |
--help |
Show help |
- liberty — colorful OpenStreetMap-style
- positron — minimal light grey (great default for prints)
- bright — vivid OSM colors
- dark — dark mode
- fiord — muted blue/green
- Parses your IATA pairs and looks up coordinates from a bundled OpenFlights airport database.
- Computes a great-circle arc for each route using
@turf/great-circle. - Spawns a headless Chromium, loads MapLibre GL JS with OpenFreeMap vector tiles, draws the arcs and airport markers, and screenshots the result.
- Map tiles by OpenFreeMap (© OpenStreetMap contributors)
- Renderer: MapLibre GL JS
- Airport data: OpenFlights (ODbL)
- Made with
✈️ by FlightSeatmap
MIT
