How to Import and Fly Missions on Any Consumer DJI Drone
DJI Fly gives you basic waypoints. It does not give you survey grids, terrain follow, desktop planning, or KML import. Those features live in DJI Pilot 2 - available only on enterprise drones that cost $5,000 to $15,000.
But you do not need an enterprise drone to fly professional missions. The community has built a reliable workaround: the KMZ pipeline. Plan your mission on a desktop tool, export it as a KMZ file, transfer it to your controller, and fly it through DJI Fly.
This guide walks through the entire process - which tools to use, how to transfer files, and what works with which drone.
What DJI Fly Can and Cannot Do
DJI added waypoint support to the Fly app for most current consumer drones. You can set up to 200 waypoints with altitude, speed, heading, and camera angle per point. Missions are repeatable and stored on the controller.
That is where it ends. Here is what DJI Fly does not do:
- No survey grid generation - cannot auto-generate lawnmower patterns for mapping
- No terrain following - fixed altitude only, no DEM-based adjustment
- No desktop planning - waypoints must be set after takeoff, on-device
- No KML/KMZ import - cannot load a pre-planned mission file directly
- No corridor mapping - no linear infrastructure flight mode
- No overlap calculation - no automatic front/side overlap for photogrammetry
- No breakpoint resume - cannot pick up where you left off after a battery swap
DJI maintains this gap deliberately to protect enterprise drone sales. The KMZ pipeline is how the drone community works around it.
The KMZ Pipeline: How It Works
KMZ is the universal bridge format. DJI Fly stores its own waypoint missions as KMZ internally. Third-party tools can generate DJI-compatible KMZ files. The pipeline is simple:
Plan on Desktop
WaypointMap, MavenRoute, etc.
Export KMZ
Universal mission format
Transfer to Controller
MavenBridge or manual copy
Fly in DJI Fly
Execute imported mission
This works with every consumer DJI drone that supports waypoints in DJI Fly: Mavic 4 Pro, Mavic 3 series, Air 3/3S, Mini 5 Pro, and Mini 4 Pro.
Plan Your Mission on Desktop
Several tools can generate DJI Fly-compatible KMZ files. Each has a different strength:
WaypointMap
FreeWeb-based. Best for automated survey grids and photogrammetry missions. Draw an area, set overlap and altitude, and it generates a complete grid pattern as KMZ. Community-built specifically to fill the SDK gap.
MavenRoute
WebBest for curved waypoint paths and photogrammetry grids. Supports simplified terrain follow and photo capture options. MavenRoute 2.0 (Feb 2026) added DJI Fly-style curved paths. Free KMZ export.
Litchi Hub
$25 one-timeWeb-based mission planner from the makers of Litchi Pilot. Best for complex waypoint missions with POI (point of interest), curved turns, and camera triggers. Exports KMZ for DJI Fly import. Up to 99 waypoints per mission.
DJI Mapper
Free / Open SourceDesktop application (Windows/Mac/Linux). Creates automatic survey and photogrammetry missions. Exports for both DJI Fly and Litchi. Best for offline planning without a browser.
For a first mission, start with WaypointMap - it is free, requires no account, and generates a ready-to-fly KMZ in under a minute.
Export as KMZ
Once your mission is planned, export it as a KMZ file. Every tool listed above has a prominent export or download button. The KMZ file contains your waypoints, altitudes, speeds, and camera actions in DJI's format.
Key Limits
- Maximum 200 waypoints per KMZ file (DJI Fly limit)
- For large survey areas, split into multiple KMZ files / flights
- The KMZ must follow DJI's specific schema - not all KMZ generators produce compatible output
- Camera interval and overlap settings in the KMZ may not be honored by DJI Fly
Save the KMZ file somewhere easy to find - you will need it in the next step.
Create a Manual Mission in DJI Fly First
This is the step most guides skip. Before you can import a KMZ, you must create and save at least one waypoint mission manually in DJI Fly. This creates the directory structure on your controller that the import process needs.
- Connect your drone and controller
- Take off (or use the simulator if your model supports it)
- Open the waypoint flight mode in DJI Fly
- Place 2-3 waypoints anywhere
- Save the mission
- You can delete this mission later - it just needs to exist once
This only needs to be done once per controller. After the directory exists, all future imports work without this step.
Need to check airspace before you fly?
Check Your AirspaceFree - check TFRs, LAANC ceilings, and restricted areas
Transfer the KMZ to Your Controller
Two methods, pick whichever is easier for you:
Option A: MavenBridge (Recommended)
MavenBridge is a free desktop tool (macOS and Windows) from the Maven team. Connect your controller via USB, select your KMZ file, and it places the file in the correct directory automatically. No filesystem navigation required.
Option B: Manual File Transfer
Connect your controller to your computer via USB. Navigate to the waypoint mission storage directory on the controller's file system and copy your KMZ file there.
The exact path varies by controller model. On most DJI controllers, waypoint missions are stored in the DJI Fly app's internal storage under a waypoint directory. The file you saved in Step 3 shows you where this directory lives.
If you are using an Android phone with RC-N2, you can also download the KMZ directly to the phone from cloud storage or email, then import from the file manager.
Fly the Mission in DJI Fly
Open DJI Fly and go to the waypoint flight mode. Your imported mission should appear in the saved missions list. Select it, review the waypoints on the map, and execute.
Pre-flight Checks
- Verify all waypoints are in the correct positions on the map
- Confirm altitude settings are appropriate for the terrain
- Check estimated flight time against your battery level
- Verify airspace authorization - use the Dronelytics airspace map or check your LAANC authorization
- Ensure clear line of sight for the entire mission area
Important: DJI Fly waypoint missions are signal-dependent. If the controller loses connection to the drone, the mission pauses and the drone hovers in place. This is different from MSDK-based apps where the mission continues on the drone itself.
Drone Compatibility Matrix
Not every method works with every drone. Here is what you can use:
| Drone | DJI Fly Waypoints | KMZ Pipeline | MSDK Apps |
|---|---|---|---|
| Mavic 4 Pro | Yes | Yes | No |
| Mavic 3 / Classic / Pro | Yes | Yes | No |
| Air 3 / Air 3S | Yes | Yes | No |
| Mini 5 Pro | Yes | Yes | TBD |
| Mini 4 Pro | Yes | Yes | Yes (RC-N2 + Android) |
| Mini 3 Pro | No | No | Yes (RC-N1 + Android) |
| Mini 3 | No | No | Yes (RC-N1 + Android) |
| Mini 2 SE | No | No | No |
MSDK Apps = third-party flight apps like Litchi Pilot and Dronelink that fully replace DJI Fly. They offer more features (survey grids, terrain follow, autonomous flight on signal loss) but only work on drones where DJI has released the Mobile SDK. The DJI RC 2 (built-in screen controller) does not support MSDK apps - you need the RC-N2 (phone-holder style) with an Android device.
What About Full Third-Party Apps?
If you own a Mini 4 Pro with the RC-N2 controller and an Android device, you have another option: MSDK-based flight apps that completely replace DJI Fly.
Litchi Pilot
Full autonomous flight with up to 99 waypoints, curved turns, POI orbits, and camera scheduling. Missions continue flying even if the controller loses signal. Android only. $25 one-time purchase.
Dronelink
Full MSDK control with survey grid generation, facade scanning, terrain following (AGL), and multi-battery mission continuation. The most feature-complete option for Mini 4 Pro. Android only. Subscription from $15/month.
These apps do not work with the Air 3, Mavic 3 series, or Mavic 4 Pro because DJI has not released the Mobile SDK for those drones. For those models, the KMZ pipeline described above is your only option for advanced missions.
For a detailed comparison, see Dronelytics vs Litchi vs Dronelink.
Limitations to Know
The KMZ pipeline is the best available workaround, but it is not perfect:
200 Waypoint Cap
DJI Fly limits each mission to 200 waypoints. Large survey areas need to be split across multiple flights.
No Terrain Follow
DJI Fly flies at fixed altitude. The KMZ cannot include terrain-adjusted altitude data that DJI Fly will honor. Fly over flat terrain or add manual altitude adjustments.
Signal-Dependent Flight
If your controller loses connection, the drone hovers. It does not continue the mission autonomously like MSDK-based apps.
Camera Interval Not Honored
Photo interval and overlap settings in the KMZ may be ignored by DJI Fly. Set camera to interval shooting manually before starting the mission.
No Breakpoint Resume
If you need to swap batteries mid-mission, you cannot resume where you left off. Plan missions to fit within a single battery.
Planning Tool Quick Comparison
All of these output DJI Fly-compatible KMZ:
| Tool | Price | Survey Grids | Best For |
|---|---|---|---|
| WaypointMap | Free | Yes | Quick mapping missions |
| MavenRoute | Free | Yes | Curved paths + grids |
| Litchi Hub | $25 | No | Complex waypoints + POI |
| DJI Mapper | Free | Yes | Offline desktop planning |
| Map Pilot Pro | $50 | Yes | iOS + professional surveys |
Check Airspace Before You Fly
Before executing any mission - imported or manual - you need to know your airspace. Dronelytics shows you all 12 FAA airspace layers in one view: controlled airspace classes, LAANC authorization ceilings, TFRs, SUAs, stadiums, and national parks.
Use the airspace map to verify your mission area, then plan your grid in one of the tools above and fly with confidence.
Need a pre-flight workflow? Download the free mission planning checklist.
Frequently Asked Questions
Can I import KML files into DJI Fly?
No. DJI Fly does not support KML import on consumer drones. Convert your mission to KMZ using one of the planning tools above, then transfer it to your controller.
Can I use QGroundControl with a DJI drone?
No. QGroundControl uses the MAVLink protocol. DJI consumer drones use a proprietary protocol. They are not compatible.
Will my DJI RC 2 work with Litchi or Dronelink?
No. The DJI RC 2 (built-in screen controller) does not support third-party MSDK apps. You need the RC-N2 (phone-holder controller) with an Android device. However, the KMZ pipeline works regardless of which controller you have.
What happens if I lose signal during an imported mission?
The drone hovers in place and waits for reconnection. DJI Fly waypoint missions are signal-dependent - they do not continue autonomously. This is different from MSDK-based apps where missions run on the drone itself.
Plan Your Mission
Start with airspace. Check your flight area, verify restrictions, and plan with confidence.
Free — no credit card required.
Sign Up