How it works
How the DJI flight log viewer works
Drop in a DJIFlightRecord file and you get a mapped flight path,
full telemetry, every warning the aircraft raised, and a battery health
picture. Here is what happens in between.
What you upload
The viewer reads DJI flight record files. These are the
.txt files your flight app writes to your phone, tablet or
controller at the end of every flight. They are named like this:
DJIFlightRecord_2026-05-14_[14-22-07].txt
One file is one flight. A flight record is written by DJI Fly, DJI GO 4, DJI GO and DJI Pilot 2, and by third party apps built on the DJI SDK. If you are not sure where yours are, the guide to finding your DJI flight logs covers iOS, Android and DJI RC controllers.
Flight records are not the same as .DAT files. A flight record is
written by the app and holds the telemetry stream the aircraft sent
down the radio link. A .DAT file is written by the aircraft
to its own internal storage and holds far more detail. This viewer reads
flight records, not .DAT files.
Why modern DJI logs need decrypting
DJI has changed the flight record format many times. Anything up to log version 12 is stored in the clear, which is why the older free log viewers could read them with nothing more than a file parser.
From log version 13 onwards, DJI flight records are AES encrypted. That covers essentially every aircraft released since the DJI Fly era: the Mini 3, Mini 4 Pro and Mini 5 Pro, the Air 3 and Air 3S, the Mavic 3 and Mavic 4 series, the Inspire 3, and the Matrice 30, 300 RTK and 350 RTK.
Decrypting one requires a keychain, a per-log set of keys that only DJI can issue. The viewer requests that keychain from DJI's official developer API using a registered SDK key, decrypts the record in memory, then parses it. This is the reason a log that fails to open in an older viewer will open here.
Because keychains come from DJI, decoding an encrypted log needs a live internet connection at the moment you upload. Older unencrypted logs do not.
What happens to your file
- Upload. The file is posted to our server over HTTPS.
- Decrypt and parse. If the log is encrypted, the keychain is fetched from DJI and the record is decoded in memory. Every telemetry frame, event and warning is extracted.
- Return. The parsed flight is handed back to your browser.
- Discard. The uploaded file is not written to disk and is not kept. It exists only for as long as the request takes.
- Cache locally. The parsed result is stored in your browser's own storage so you can reopen it later without uploading again. Clear your browser data and it is gone.
The practical effect: your flight logs are not stored on our servers, and the flight library you build up in the viewer lives on the device you are sitting at. Full detail is in the privacy notice.
What the viewer gives you back
Flight path
The track drawn on a map, with an altitude curtain showing height above the take-off point. Switch to satellite imagery, tilt into 3D, and scrub the timeline to replay the flight.
Flight summary
Duration, distance flown, maximum height, maximum distance from the home point, top horizontal and vertical speed, and the take-off coordinates.
Battery health
Charge and capacity consumed, voltage range, per-cell deviation, temperature range, peak current draw, plus cycle count and remaining battery life where the log carries them.
Warnings
Every warning, tip and notification the aircraft raised during the flight, in sequence, with plain-English explanation of what each one means.
GPS quality
Satellite count and signal level across the flight, so you can see whether a wobble was interference, a compass problem or pilot input.
Exports
A formatted PDF flight report, the complete telemetry as CSV, and the track as KML for Google Earth.
There is also an automatic written analysis: a short read of the flight in plain language, calling out anything that looks worth a second look.
Metric or imperial
Every reading can be switched between metric and imperial with one control, and the choice carries through to the PDF report and the on-screen tables.
Supported aircraft and apps
| App | Typical aircraft | Log status |
|---|---|---|
| DJI Fly | Mini 2 through Mini 5 Pro, Air 2S, Air 3, Air 3S, Mavic 3 and Mavic 4 series, Avata, Neo | Encrypted, supported |
| DJI Pilot 2 | Matrice 30, Matrice 300 RTK, Matrice 350 RTK, Mavic 3 Enterprise | Encrypted, supported |
| DJI Pilot | Matrice 200 series, Phantom 4 RTK | Supported |
| DJI GO 4 | Mavic 2, Mavic Air, Phantom 4, Spark | Unencrypted, supported |
| DJI GO | Phantom 3, Inspire 1, Mavic Pro | Unencrypted, supported |
| Third party DJI SDK apps | Varies | Supported where the app writes a standard flight record |
If your aircraft writes a DJIFlightRecord file, the viewer should
read it. That includes aircraft newer than this page.
What it cannot do
.DATfiles are not supported. These come off the aircraft's own storage or the SD card and use a different, largely undocumented format.- Litchi, Map Pilot and Drone Harmony CSV logs are not supported. The viewer reads DJI flight records only.
- Ambient wind speed is not in the log. DJI records a wind warning level rather than a measured wind speed. Any tool showing you a precise wind figure has derived it, not read it.
- Battery serial numbers are only partly recoverable. On dual-battery aircraft the second pack's serial is not present in the flight record.
- One flight at a time. For continuous, automatic logging across a whole fleet, that is what Dronedesk is for.
Next
- Where to find your DJI flight logs on iOS, Android and DJI controllers
- Frequently asked questions about log formats, encryption and exports
- Open the viewer and read a log now