Skip to content

Import a KMZ waypoint mission into DJI Fly (iPhone and DJI RC 2)

DJI Fly has no button to import or export a waypoint file. What works is a swap: make a short placeholder mission in DJI Fly, then replace its KMZ with yours under exactly the same name. Here is how on an iPhone with an RC-N2 or RC-N3, and on a DJI RC or RC 2 over USB.

Last checked

In short

  • DJI Fly has no KMZ import or export. You replace the file of a placeholder mission instead.
  • iPhone with an RC-N2 or RC-N3: Files › On My iPhone › DJI Fly › wayline_mission/<UUID>/<UUID>.kmz.
  • DJI RC or RC 2: Android/data/dji.go.v5/files/waypoint/<UUID>/<UUID>.kmz on the controller, reached from a computer over USB.
  • The file is DJI WPML, not a Google Earth KMZ, and it takes exactly the placeholder's file name.
  • At most 200 waypoints per mission. A bigger job is flown as several missions.

Why DJI Fly needs a placeholder

DJI Fly has no import or export for waypoint files, and none had been added when this guide was last checked. It finds its missions through its own list, so a new file only shows up when it takes the place of a mission DJI Fly already knows. The public guides from mission planning tools describe this same swap.

What the file must be

  • A DJI WPML KMZ: a zip with wpmz/template.kml and wpmz/waylines.wpml inside, as in DJI's WPML documentation. A KMZ from Google Earth is a different format.
  • Made for the drone model you fly. The file names the model, and it should match the drone the placeholder was made with.
  • No more than 200 waypoints. DJI Fly refuses more.
  • Named exactly like the file it replaces, <UUID>.kmz, in the same <UUID> folder.

On an iPhone (RC-N2 or RC-N3)

With a controller without a screen, DJI Fly runs on your phone and keeps the missions there.

  1. Make a placeholder mission

    In DJI Fly, make a waypoint mission with two points, save it and give it a name you'll recognise. Make it with the drone model you'll fly the real mission with.

  2. Close DJI Fly completely

    Swipe DJI Fly away in the app switcher. If it is still running while you swap the file, it can keep or save back its own copy.

  3. Get your mission as a DJI Fly KMZ

    Export the mission for DJI Fly from your planner and save it in Files. It has to be a DJI WPML KMZ for your drone model.

  4. Find the placeholder's folder

    Open Files › On My iPhone › DJI Fly › wayline_mission. Each mission has a folder with a long random name (a UUID), holding one file with the same name: <UUID>/<UUID>.kmz. The newest folder is usually your placeholder; sort by date to find it.

  5. Replace the file, keeping its name

    Rename your KMZ to the placeholder's exact file name, then move or save it into that folder and choose Replace. Or delete the old file first and move yours in. The name has to match exactly: DJI Fly finds the mission by it.

  6. Open DJI Fly and check the route

    Start DJI Fly, open the mission and look over every waypoint before you fly. The thumbnail and the name in the mission list show the placeholder until you have opened the mission.

On a DJI RC or RC 2 (screen controller)

With a screen controller, DJI Fly runs on the controller itself and keeps the missions in its Android storage, not on your phone. You reach them from a computer over USB.

  1. Make a placeholder mission on the controller

    Open DJI Fly on the controller, make a short waypoint mission with two points, save it and close DJI Fly.

  2. Connect the controller to a computer

    Use a USB-C cable. On a Mac, open the controller with Android File Transfer or OpenMTP; on Windows, use File Explorer, which works best with the RC 2.

  3. Open the waypoint folder

    Go to Android/data/dji.go.v5/files/waypoint/ and open the newest <UUID> folder. Copy its name.

  4. Replace the KMZ

    Name your DJI Fly KMZ <UUID>.kmz, exactly like the folder, and copy it into that folder, replacing the old file. The controller keeps no mission database, so replacing the file is enough.

  5. Disconnect and check the route

    Unplug the controller, open DJI Fly, open the mission and check every waypoint before you fly.

Which drones

This guide and Skyplanr's DJI Fly missions are for exactly these drones: DJI Mini 4 Pro, DJI Mini 5 Pro, DJI Air 3, DJI Air 3S, DJI Mavic 3 Pro and DJI Mavic 4 Pro. Other drones are not supported. For them, Skyplanr exports Litchi CSV, QGroundControl, KML or GeoJSON instead.

More than 200 waypoints, or more than one battery

DJI Fly refuses more than 200 waypoints and cannot resume a mission after a battery swap. A bigger job is flown as several flights from the same takeoff, each its own KMZ of at most 200 waypoints.

  • Make one placeholder mission per flight, and close DJI Fly.
  • Replace each placeholder's KMZ with one flight, as above, and note which UUID holds which flight.
  • Fly them in order from the same takeoff spot, and land and swap the battery between flights.

Before you fly

  • Heights in the file are relative to the takeoff point. Take off from the planned spot, or the whole route moves up or down with the ground.
  • DJI Fly has no terrain follow on waypoint missions, so any slope under the route has to be in the file's heights already.
  • Set DJI Fly's Max Altitude at least as high as the highest waypoint and the return-to-home height. A mission with a waypoint above it fails.
  • If you open and save the mission in DJI Fly, the app may rewrite the file. That is expected.

When it doesn't work

  • The old route still shows: DJI Fly was running during the swap. Close it completely, replace the file again, then open DJI Fly.
  • The thumbnail and the name are the placeholder's: that is expected until you open the mission.
  • Files asks whether to keep both: choose Replace. A kept copy gets another name, and DJI Fly ignores it.
  • Android/data doesn't show up on the computer: newer controller firmware can hide it over USB. Litchi Utilities suggests turning on USB file transfer on the controller; desktop tools such as Litchi Hub Bridge and MavenBridge write the mission over USB themselves.
  • DJI Fly won't start the mission: check that it was made for this drone model, has no more than 200 waypoints, and that no waypoint is above Max Altitude.

Where Skyplanr fits in

Skyplanr writes the DJI Fly KMZ for you. Describe the job, and it plans the waypoint mission around your target, checks it with 89 rule-based checks against terrain and obstacle heights, distance, height, battery and geo-zones before you can download it, and tells you the Max Altitude to set in DJI Fly. A mission over 200 waypoints or one battery is split into flights, each its own file. For a DJI RC or RC 2, paste the placeholder's folder name and the download is already named <UUID>.kmz.

How a plan is made

Questions

Can DJI Fly import a KMZ file?

No. DJI Fly has no import or export for waypoint files. You get a mission in by replacing the file of a placeholder mission, keeping exactly the same file name.

Where does DJI Fly keep waypoint missions on an iPhone?

In Files › On My iPhone › DJI Fly › wayline_mission. Each mission is a folder named with a UUID, holding <UUID>.kmz. The same place has mission_db (DJI Fly's mission list) and map_preview (the thumbnails); leave those alone.

Where are the missions on a DJI RC or RC 2?

On the controller, not on your phone: Android/data/dji.go.v5/files/waypoint/<UUID>/<UUID>.kmz in its Android storage. Connect the controller to a computer with a USB-C cable to reach them.

Can I use a KMZ from Google Earth?

Not as it is. DJI Fly reads DJI WPML: a KMZ holding wpmz/template.kml and wpmz/waylines.wpml. A Google Earth KMZ is a different format, so the route has to be made into a DJI WPML mission first.

How many waypoints can a DJI Fly mission have?

200. DJI Fly refuses more, so a bigger job is split into several missions, each with its own placeholder.

Which drones does this work with?

Skyplanr's DJI Fly missions are for the DJI Mini 4 Pro, DJI Mini 5 Pro, DJI Air 3, DJI Air 3S, DJI Mavic 3 Pro and DJI Mavic 4 Pro. Other drones are not supported.

Sources

What this guide rests on. The third-party guides are linked as published; Skyplanr is not affiliated with them.

  1. DJI Developer: DJI WPML overview (the KMZ format DJI Fly reads) (developer.dji.com)
  2. DJI Developer: DJI WPML template.kml reference (developer.dji.com)
  3. Litchi Utilities: DJI Fly waypoint KMZ import and export (iPhone and DJI RC paths) (litchiutilities.com)
  4. WaypointMap: tutorial (iPhone and DJI RC 2 steps) (waypointmap.com)
  5. Litchi forum: DJI RC controller support using Hub Bridge (forum.flylitchi.com)
  6. MavenBridge: sending KMZ waypoint missions to DJI Fly over USB (mavenpilot.com)

This guide describes how DJI Fly behaved when it was last checked; DJI can change the app at any time. It is advice, not a permission: you are the pilot in command, and the site, the geo-zones and the rules are yours to check before take-off.

Let Skyplanr write the file.

Describe the job, and Skyplanr plans the waypoint mission, checks it and gives you the KMZ for DJI Fly.