URDF viewer
Open a robot description in the browser and look inside it — the kinematic tree, every joint and its range, collision geometry against the visual mesh, centre of mass and inertia. No ROS install, no build step, nothing to configure.
What it reads
URDF and its XML relatives. Referenced meshes in STL, DAE, OBJ and glTF resolve
relative to the description, so a model with a meshes/ folder beside it
loads the way it does on disk. Drop the folder or a ZIP archive to bring those along.
A lone description file shows primitives and marks the missing geometry rather than
pretending it rendered.
What to look at once it loads
Turn on collision and compare it to the visual shape. Simplified collision is normal and desirable, but a box swallowing an entire arm means the simulator will catch on things that are not there.
Turn on link frames if the model looks scrambled. A frame rotated the wrong way is the most common reason an imported robot comes out twisted, and it stays invisible until you draw the axes.
Turn on inertia and look at the shape of each ellipsoid. It should follow the part: long and thin for a forearm, round for a hub. A perfect sphere on an elongated link means the inertia block was copied and never recomputed — common in hand-written files, and it makes a simulation behave in ways the geometry does not explain. Values that cannot describe a real rigid body are drawn in red.
URDF, MJCF, SDF and USD
URDF is the oldest and most widely supported, and it is strictly a tree: every link has one parent, so closed kinematic chains cannot be expressed. MJCF is MuJoCo's format and covers what URDF cannot — loops, tendons, contact parameters. SDF is Gazebo's and describes whole worlds. USD comes from graphics and is what NVIDIA's Isaac stack builds on. Conversion between them is rarely lossless, which is why the converter lists every loss instead of hiding it.
Common questions
How do I open a URDF file?
Drag it onto the scene, or use “Open file”. Nothing is installed and nothing is published.
What is the difference between URDF and Xacro?
Xacro is URDF with macros, properties and arithmetic, so repeated structure — four identical legs — is written once. It expands into plain URDF before anything reads it.
Can MuJoCo load a URDF directly?
It can, but it ignores everything URDF has no place for, and its defaults for contact and damping rarely match what you want. Converting to MJCF first makes those choices explicit.