Coordinate Frame Converter – NED, ENU, ECEF, Body Frame Rotation & Vector Transform

Convert vectors and attitudes between NED, ENU, and Body coordinate frames. Visualize frame axes, apply roll/pitch/yaw DCM rotation, and understand frame relationships used in drone, robot, and navigation systems.

Coordinate Frame Converter — NED, ENU, Body Frame

This coordinate frame converter maps 3D vectors between the frames most often used in aerospace and robotics: NED (North-East-Down), ENU (East-North-Up), and the vehicle-fixed Body frame. Enter a vector in the From frame, set roll/pitch/yaw when Body is involved, and read the converted components in the To frame with matching axis labels.

An interactive 3D canvas shows side-by-side From/To axes in the Frame Converter tab, or NED versus Body axes in the Attitude Visualizer tab. Drag to orbit, scroll to zoom, lock XY/YZ/ZX views, copy results as CSV or Python, and restore your last session from LocalStorage automatically.

Supported Coordinate Frames

  • NED — North-East-Down — Aerospace and aviation standard. X North, Y East, Z Down. Gravity is positive along +Z. Used by many autopilots, INS, and fixed-wing navigation stacks.
  • ENU — East-North-Up — Robotics and ROS REP-103 local frame. X East, Y North, Z Up. Gravity is negative along Z. Common for ground robots, SLAM, and GIS overlays.
  • Body — Forward-Right-Down — Fixed to the vehicle: X forward, Y right, Z down (FRD). Requires roll φ, pitch θ, and yaw ψ relative to NED using the tool’s ZYX DCM. Conversion uses v_body = R · v_ned and v_ned = Rᵀ · v_body.

How to Use the Coordinate Frame Converter

  • 1. Open the Frame Converter tab — Use this tab for vector conversion. Switch to Attitude Visualizer when you only need to inspect roll/pitch/yaw and the NED→Body DCM without a vector pair.
  • 2. Select From and To frames — Pick NED, ENU, or Body for source and destination. Input Vector uses From frame labels; Converted Vector uses To frame labels.
  • 3. Enter the input vector — Type components in Input Vector (e.g. North/East/Down or Forward/Right/Down). Values are converted as soon as all fields are valid numbers.
  • 4. Set attitude when Body is used — When either frame is Body, enter roll/pitch/yaw in the separate Attitude (Body Frame) section. NED↔ENU conversions skip attitude entirely.
  • 5. Read and copy the result — Converted Vector shows read-only result fields in the target frame. Copy as [x,y,z], CSV, or inspect the conversion formula shown below the values.
  • 6. Explore the 3D view — Frame Converter draws mirrored From/To scenes with a center divider. Orbit with drag, zoom with scroll, or lock to XY/YZ/ZX. A semi-transparent XY plane helps you see whether you are viewing from above or below the horizon.
  • 7. Session restore — Active tab, frame pair, vector, attitude, angle unit, and camera state are saved in LocalStorage and restored on reload.

Typical Use Cases

Drone & UAV Autopilots

Autopilot firmware often uses NED for navigation while sensors or mission planners emit ENU. Convert wind, velocity, or waypoint offsets between frames before feeding a controller, and verify Body-frame IMU vectors against NED estimates using the same roll/pitch/yaw as your attitude estimator.

ROS & Mobile Robotics

Bridge REP-103 ENU messages from /odom or /map to NED consumed by a legacy aerospace module, or express a Body-frame velocity command in ENU for a differential-drive stack. The side-by-side canvas helps catch a swapped East/North axis early.

Sensor Fusion & Simulation

When integrating GPS, magnetometer, and IMU data, confirm that each driver’s output frame matches your filter’s expected NED or Body convention. Use the Attitude Visualizer tab to display the DCM, copy it into Python/C++, and compare with your rotation visualizer or quaternion tool.

Frame Conventions in Autopilot & Robotics Stacks

Frame naming and axis order differ by ecosystem. Align your pipeline explicitly:

  • PX4 / MAVLink (local NED) — Local position and velocity are often NED. Global GPS may still be lat/lon; map body FRD attitudes using ZYX yaw-pitch-roll as in this tool.
  • ArduPilot — Uses NED for many navigation quantities; check whether a particular message uses centi-degrees and earth vs body frame before converting.
  • ROS / REP-103 — Standard local frame is ENU (x East, y North, z Up). Use this tool’s NED↔ENU mapping when interfacing with aerospace NED estimators.
  • Body FRD — Forward-Right-Down matches aerospace body axes here. If your vehicle uses FLU (Forward-Left-Up), apply an additional fixed axis permutation outside this tool.

Coordinate Conversion Best Practices

Recommendations when mixing NED, ENU, and Body data:

  • Document the frame at every API boundary: Label messages NED, ENU, or Body explicitly; never assume “local frame” without an axis diagram.
  • Separate vector components from attitude: Roll/pitch/yaw describe orientation, not a vector to convert. Enter them only when Body participates in the transform.
  • Keep one attitude convention: This tool fixes ZYX and R = Rx(φ)·Ry(θ)·Rz(ψ). If your estimator outputs a quaternion, convert with the Rotation Visualizer first, then compare DCM rows here.
  • Watch gravity sign: Accelerometer specific force and gravity vectors flip with NED vs ENU; converting position alone does not fix accelerometer interpretation.

FAQ — Coordinate Frame Converter

What is the difference between NED and ENU?

NED uses X North, Y East, Z Down; ENU uses X East, Y North, Z Up. The fixed mapping is x_ENU = y_NED, y_ENU = x_NED, z_ENU = -z_NED. No Euler angles are required for that pair.

What rotation order does the Body frame use?

ZYX intrinsic Euler angles (yaw ψ about Down, then pitch θ, then roll φ). The displayed DCM satisfies v_body = R · v_ned with R = Rx(φ)·Ry(θ)·Rz(ψ). Inverse conversion uses Rᵀ.

Why is attitude in its own section, not inside Input or Converted Vector?

Roll/pitch/yaw describe how the Body frame is oriented relative to NED — they are not vector components. Input Vector always uses the From frame axis labels; Converted Vector always uses the To frame labels. When either side is Body, attitude appears once in Attitude (Body Frame).

Can I convert the same vector if From and To are both Body?

Yes, but both sides use the same Body definition and attitude, so the result equals the input unless you change attitude between frames. Typical workflows convert Body↔NED or Body↔ENU rather than Body↔Body.

How does the 3D canvas relate to the numbers?

Frame Converter shows left=From and right=To with the same camera on both halves. Purple arrows are your input and output vectors. Attitude Visualizer overlays faded N/E/D with bold Xb/Yb/Zb body axes from the same DCM shown in the settings panel.

Does this match my quaternion or rotation matrix tool?

The DCM here is the aerospace NED→Body matrix. Quaternion tools may store the transpose depending on active vs passive rotation convention. If values disagree, compare axis directions in the 3D view rather than raw matrix entries alone.

Is my data uploaded to a server?

No. Conversions and rendering run entirely in the browser. Optional LocalStorage keeps your last frames, vector, and attitude on your device only.

Related Tools

  • LLM Token Calculator — Free AI token calculator for GPT, Claude, Gemini, and custom models. Count prompt tokens, compare context window usage, estimate API cost, and keep text in your browser.
  • Bezier Curve Editor — Interactive cubic Bezier curve editor with real-time animation preview, 35 easing presets, side-by-side comparison, and code export for CSS, Unity C#, C++, and JavaScript.
  • SPI Calculator — Calculate SPI clock frequency from MCU clock and divider, transfer time, throughput, and bit/word periods. Browse all 8 clock dividers in a single table with speed class indicators. Supports SPI Mode 0–3 (CPOL/CPHA), MSB/LSB first, and word sizes of 8/16/32 bits. Runs in your browser.
  • I2C Calculator — Calculate I2C SCL timing parameters (t_HIGH, t_LOW, t_r, t_f) for Standard, Fast, Fast-plus, and High-speed modes. Compute AVR TWBR register value, actual SCL frequency, and error% for all 4 I2C speed modes with prescaler selection. Runs in your browser.
  • Drone Calculator — Calculate drone thrust, TWR, hover throttle, flight time, and battery C-rating safety. Compare up to 4 motor/battery/propeller configurations side by side.
Frame Visualization
Axisxyzv

Drag to orbit • Scroll to zoom • XY/YZ/ZX for locked views

Frame Selection

Input Vector

Converted Vector

x_ENU = y_NED y_ENU = x_NED z_ENU = -z_NED