Launch promotionLidarFlow is free while we launch — no card required

URDF Viewer: Visualize and Move ROS Robot Models Online

Nothing leaves your machine

The URDF and any zipped meshes are read with the browser File API and rendered with WebGL. There is no upload, no temporary storage and no server side processing.

Live joint control

Every revolute, continuous and prismatic joint gets a slider bounded by the limits in the file, so you can check reach and ranges without launching a simulator.

Honest about scope

Xacro files are not expanded yet and Collada textures are skipped. Unresolved meshes render as placeholder boxes with a warning instead of breaking the model.

What a URDF file is, and why you would preview one

A URDF describes a robot as a kinematic tree: links carry the geometry, joints connect them and define how they move. It is the file that RViz, Gazebo, MoveIt and most ROS 2 tooling read when they need to know what the robot looks like and how it articulates. Because it is plain XML that points at external mesh files, small mistakes are common: a joint origin off by a rotation, an axis pointing the wrong way, a mesh path that only resolves on one machine.

Opening the model in a browser is the fastest way to catch those problems. You see the assembled robot, drag the joint sliders to check ranges and limits, and spot any link that landed in the wrong place before you push the description into a simulator or onto hardware. It is also a simple way to share a robot model with someone who does not have ROS installed at all.

How to view a URDF in the browser

  1. 1. Gather the files. If the URDF uses only box, cylinder and sphere geometry, the single .urdf file is enough. If it references meshes, zip the URDF together with its mesh folders so the relative paths still resolve.
  2. 2. Drop it in. The XML is parsed, the link and joint tree is built and the robot is framed in the viewport.
  3. 3. Inspect and move. Use the sidebar to read the tree and drag the joint sliders. Turn on joint axes and link frames to see exactly where each joint sits and which way its axis points.
  4. 4. Check the camera presets. Iso, top, front and side views make it easy to confirm the model is oriented the way you expect.

Current limitations

Xacro (.xacro) files are not supported in this first version, because the macros need to be expanded before the XML is valid URDF. Run xacro locally and load the generated .urdf. Collision geometry and inertial blocks are ignored, only visual geometry is rendered, and Collada textures are not loaded. Mimic joints move independently rather than following their driver joint. These are gaps we plan to close, not deliberate exclusions.

Frequently asked questions

What is a URDF file?

URDF stands for Unified Robot Description Format. It is an XML file used by ROS and ROS 2 to describe a robot as a tree of links connected by joints, with visual geometry, collision geometry, inertial properties and joint limits. Simulators, motion planners and visualisation tools all read the same file.

Can I view a URDF without ROS installed?

Yes. This viewer parses the XML and renders the model with WebGL in your browser, so you do not need ROS, RViz or a local Python environment. Drop the file in and the robot appears.

Why are my meshes not showing up?

URDFs reference mesh geometry through paths like package://my_robot/meshes/base.stl, and a lone .urdf file does not contain those meshes. Zip the URDF together with its mesh folders and drop the zip in instead. Any reference that still cannot be resolved is drawn as a wireframe placeholder box with a warning, so the rest of the robot still renders.

Does this support Xacro files?

Not yet. Xacro files use macros and properties that have to be expanded before the XML is a valid URDF, and this first version does not run that expansion. Run xacro on the file first, for example xacro robot.urdf.xacro > robot.urdf, then load the result. Xacro support is a limitation of the current version rather than a deliberate exclusion.

Which mesh formats are supported?

STL, OBJ and Collada (DAE) meshes inside the zip, plus the primitive shapes URDF defines directly: box, cylinder and sphere. Textures on Collada meshes are not loaded.

Is my file uploaded anywhere?

No. The file is read with the browser File API, unzipped and parsed in JavaScript, and rendered locally. There is no upload, no temporary storage and no server side processing.

Related tools and guides

Working with sensor data from the same robot? Open a scan in the free PCD and PLY viewer, switch formats with the point cloud converter, or browse every free tool. To turn a recording into a map, see rosbag to PCD and LiDAR SLAM.

Free while we launch
Got the robot model? Upload a recording and get a georeferenced map.