Free & open source — MIT License

Plan drone missions
visually

A free, open-source mission planner for DJI drones. Place waypoints on an interactive map, configure every flight parameter, and export KMZ files ready to load on your controller.

DroneRoute 3D mission planner with satellite imagery, waypoints, flight path, and terrain visualization

Works with your DJI drone

M300 RTK M350 RTK M30 / M30T Mavic 3E / 3T / 3M Mavic 3D / 3TD Mini 4 Pro

Everything you need to plan a mission

From placing your first waypoint to exporting a flight-ready KMZ file, DroneRoute has you covered.

Interactive 3D map

Plan missions on an interactive 3D map with real terrain, extruded buildings, and satellite imagery. Click to place waypoints, drag to reposition, and rotate the view to see your flight path from any angle.

Full waypoint control

Set altitude, speed, gimbal pitch, heading mode, and turn mode per waypoint. Add actions like photo, video, hover, zoom, and more.

Points of interest

Define POIs on the map and automatically orient the camera toward them. Smart gimbal pitch calculates the perfect angle using trigonometry.

KMZ export & import

Generate DJI WPML-compliant KMZ files ready to load on your controller. Import existing KMZ files from DJI Pilot 2 to edit and re-export.

Mission templates

Generate orbit, grid survey, facade scan, and pencil path patterns in seconds. Fine-tune the generated waypoints afterward for full flexibility.

Share missions

Generate a read-only link for any saved route. Recipients can preview flight stats, open the mission in the editor, clone it, or export the KMZ, no account needed.

Obstacle detection

Draw polygon obstacles or click any 3D building to instantly convert it into an obstacle zone. Flight segments crossing obstacles are highlighted in red with a warning count.

Airspace restrictions

Display prohibited and restricted airspace zones as color-coded overlays on the map. Hover any zone to see details. Waypoints inside a restricted area trigger instant warnings.

Mission templates

Start with a template, then customize every waypoint. Save hours of manual placement for common flight patterns.

Orbit template showing circular flight path around a center point

Orbit O

Circular flight path around a target. Ideal for building inspections, tower surveys, and cinematic orbits. Auto-creates a POI at the center.

Grid survey template showing zigzag lawn-mower pattern

Grid survey G

Lawn-mower zigzag pattern for area coverage. Perfect for mapping, photogrammetry, agricultural surveys, and search & rescue operations.

Facade scan template showing vertical scanning pattern

Facade scan F

Vertical scanning along building faces. Configurable standoff distance, altitude range, and row/column density for structural inspections.

Pencil path template showing freehand drawn flight path

Pencil path Z

Draw a freehand flight path on the map. Waypoints are placed at equal intervals along the drawn shape. Adjust waypoint count for precision.

See it in action

A closer look at what makes DroneRoute powerful and easy to use.

3D terrain with extruded buildings and camera frustum

3D terrain & buildings

Real-world elevation data renders mountains and valleys beneath your flight path. Extruded 3D buildings appear at zoom level 14+ with accurate heights from OpenStreetMap.

Click any building to instantly convert it into an obstacle zone. The camera frustum cone shows exactly where your drone's camera will point at each waypoint.

Geocoding search with location results dropdown

Geocoding search

Search for any location worldwide using the integrated geocoding search box. Type an address, landmark, or coordinates and the map flies there instantly.

Switch between high-resolution satellite imagery and a dark street map with one click. Both styles support full 3D mode with terrain and buildings.

Camera frustum visualization on selected waypoint

Camera frustum & gimbal pitch

Select a waypoint to see a 3D camera frustum cone showing exactly where the drone's camera will point. The frustum updates in real-time as you adjust gimbal pitch and heading.

When a waypoint faces a POI, DroneRoute calculates the exact gimbal angle to point the camera directly at the target using trigonometry.

Building obstacle detection popup

Building obstacle detection

Click any 3D building on the map to inspect its height and footprint. Convert it to an obstacle with one click so the mission planner accounts for it during flight planning.

Building data is extracted from OpenStreetMap and rendered in full 3D with accurate heights across both street and satellite views.

Elevation chart showing altitude profile

Elevation chart

Visualize the altitude profile of your entire mission at a glance. The interactive elevation graph shows height changes across every waypoint.

The footer bar displays total distance, estimated flight time, and waypoint/POI counts calculated from actual per-segment speeds.

Airspace restriction zones displayed on the map

Airspace restriction zones

Visualize prohibited and restricted airspace zones directly on the map. Color-coded overlays (red for prohibited, orange for restricted) make it easy to identify no-fly areas at a glance. Hover over any zone to see its name, classification, and altitude limits.

When a waypoint falls inside a restriction zone, a warning banner appears instantly. Enable the layer from Settings → Visualization → Extra layers, or press A to toggle it.

Keyboard-first workflow

Navigate faster with shortcuts. Spend less time clicking, more time flying.

W Add waypoint
P Add POI
O Orbit template
G Grid survey
F Facade scan
Z Pencil path
B Draw obstacle
A Toggle airspace zones
Esc Cancel / Deselect
Del Remove selected
Ctrl+A Select all

Upload missions from your terminal

No file managers, no manual copying. One command to go from KMZ file to flight-ready controller.

# Upload a KMZ file to your DJI controller via USB
npx droneroute mission.kmz

# That's it. The CLI will:
# 1. Detect your connected DJI RC (USB or ADB)
# 2. Create the waypoint folder structure
# 3. Place the KMZ where DJI Pilot 2 expects it
View on npm

Self-host in one command

Your data, your server. No third-party services. Full privacy.

# Self-host with Docker
docker run -d -p 3001:3001 -v droneroute-data:/app/data fcsonline/droneroute:latest

# Open http://localhost:3001

Loved by drone pilots

What people are saying about DroneRoute.

★★★★★
"Finally, a free mission planner that actually generates valid DJI KMZ files. I was paying for commercial software before and this does everything I need."
MK
Marco K.
Commercial drone pilot
★★★★★
"The orbit and facade scan templates save me so much time on building inspections. Smart gimbal pitch is a game changer for pointing at POIs."
SA
Sarah A.
Structural engineer
★★★★★
"Being able to self-host this is huge. We run it on our own server for security reasons and it works flawlessly. The Docker setup is dead simple."
JR
James R.
Survey team lead

Ready to plan your next flight?

Start planning missions in minutes. No sign-up required for the live demo.