SDF to URDF Converter — convert Gazebo SDF models to URDF online
Free online SDF to URDF converter: resolves model-frame link poses into relative joint origins with proper transform composition, and reports every lossy conversion explicitly. Runs in your browser.
Why SDF→URDF is lossy (and what this tool does about it)
| SDF concept | URDF reality | This tool |
|---|---|---|
Link <pose> in the model frame | No link poses — frames come from joint origins | Computes origin = parent_pose⁻¹ · child_pose with full rotation composition |
| Kinematic loops allowed | Tree only | Loops surface as validator errors — check output with the URDF validator |
ball, universal, screw joints | Single-axis joints only | Emitted as fixed + explicit warning |
| Unbounded revolute limits (±1e16) | Distinct continuous type | Auto-converted to continuous |
Sensors, plugins, <world>, nested models | Not expressible | Dropped with named warnings — never silently |
model:// mesh URIs | Consumers expect package:///paths | Kept + flagged for adjustment |
The reference direction (URDF→SDF) is built into Gazebo, but the reverse has been an open community pain for years — existing scripts assume zero link poses, which silently misplaces every link that was positioned in the model frame. Transform composition is the difference between a converted model and a correct one.
Next steps: validate the output, convert it to MuJoCo, or see Pro for batch conversion and full frame-graph (relative_to) resolution.