Online URDF viewer
A URDF visualizer that runs in the browser. Open a robot description 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 RViz, 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.
MJCF opens the same way, so this doubles as a MuJoCo viewer for a model you want to
understand before you simulate it: the body tree, every joint with its range, the
geoms that collide and the ones that only draw. To watch it move under gravity, open
the same file in the physics lab.
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.
Do I need ROS or RViz to view a URDF?
No. RViz needs a ROS installation, a robot state publisher and a launch file before it
draws anything; this needs a tab. Xacro is expanded on the way in: drop the description
package folder and its top file opens with every file it includes.
Can I download the robot as a 3D model?
Yes — Export → 3D model · GLB writes one file with every part in place,
named link by link, for Blender, a render or a web page. 3D print · STL
writes the surface in millimetres with Z up, the way a slicer expects it. Both are made
in your browser from what is on screen, in the pose you left the robot in.
Can I edit the URDF here?
The viewer reads; the URDF editor writes. Press
Editor in the tool switch and the same robot opens there, meshes and all,
to change joint ranges, masses and shapes in a form or in the text — and back again to
look at the result.
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.