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. A URDF file, line by line
- 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. MJCF, explained
- SDF .sdf
- Gazebo's format, which describes a whole world rather than a single robot. SDFormat, explained
- USD .usda
- NVIDIA's scene format, where a robot is ordinary geometry with UsdPhysics applied on top — what Isaac Sim opens. OpenUSD for robots
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 the SDF written here has no element for, 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.