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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.