Converter

Convert robot description formats

Every direction below has been run over four robots — a six-axis arm, a gripper, a generic quadruped and the Unitree A1 — out and back again. What each one loses is stated on its own page, and repeated as a comment inside the file you download.

What converts into what

The formats

URDF .urdf
the ROS description of a robot: links, joints, geometry and inertia, one rigid tree.
Xacro .xacro
URDF with macros, properties and includes — expanded before anything can read it. Read only — it is a source format, not a target.
MJCF .xml
MuJoCo's own format: the same robot, plus everything a solver needs to simulate it.
SDF .sdf
Gazebo's format, which describes a whole world rather than a single robot.

Why the losses are listed at all

A converter that reports nothing is not lossless; it is quiet. These formats do not describe the same things — MJCF holds a solver's worth of settings a URDF has no words for, URDF has mimic joints SDF cannot express without a plugin, and a velocity limit lives on the joint in one and on the actuator in another. Anything we cannot carry is named, both here and inside the file, so the gap is found now rather than in a simulation that behaves oddly for reasons nobody can place.

Converting is also rarely the end of it. The viewer shows what survived, and the physics lab runs the result under gravity and contact to see whether it behaves like a robot at all.