Use Cases Compare Learn Blog Docs Open Studio

How to View a URDF Robot in Your Browser (No ROS Install)

You can view a URDF robot in your browser in about a minute — no ROS install, no RViz, no Linux box, no GPU. If you have ever cloned a robot repository just to see what an arm looks like, or fought with ros2 launch and a display server to render a single model, this is the shortcut. We will use Yugma as a URDF viewer online: load a robot, read its TF tree, and drag its joints with live forward kinematics.

What is a URDF?

URDF stands for Unified Robot Description Format — an XML file that describes a robot as a tree of links connected by joints. Three concepts do all the work:

That link-and-joint tree is exactly what a viewer needs to draw the robot and let you pose it.

Why finding and viewing a URDF is harder than it should be

Two problems stack up. First, good URDFs are scarce. Authoring one by hand means writing XML, wiring up xacro macros, and getting every mesh path and joint axis correct. The public supply is thin, too: one arXiv survey of openly available robot descriptions counted only around 195 usable URDF models for the entire field. When you do find one, it is often bolted to a specific ROS package layout, so it will not render until you reconstruct that environment.

Second, viewing one traditionally means installing the whole stack. The default path is ROS 2 plus RViz on Linux — a heavy toolchain to render a single arm, and one that does not travel. You cannot paste an RViz window into a message, and a teammate on Windows or a Mac cannot open it at all without the same setup.

Your options for a URDF viewer online

OptionInstall neededBest forThe catch
RViz (ROS 2)Full ROS 2 + Linux + displayEngineers already on ROSDesktop only, heavy, not shareable
DIY three.js + urdf-loaderNode project + build stepCustom web appsYou handle meshes, TF, and Z-up to Y-up yourself
FoxgloveDesktop or web appLive telemetry and panelsData-viz focused; you supply the files
YugmaNone — any browserA fast look, pose, and shareConcept and visualization, not a full physics sim

If your goal is simply to see a robot, pose it, and send it to someone, a browser viewer wins. Here is the concrete walkthrough. For a side-by-side of the desktop tools, see RViz vs Foxglove vs a browser.

View a URDF robot in your browser: step-by-step

  1. Open the studio. Go to Yugma Studio in any browser — laptop, Chromebook, or phone. There is nothing to install and no RTX GPU requirement.
  2. Pick a robot from the catalog. Open the Catalog tab and browse the 1,315-model industrial library by category or manufacturer — six-axis arms, cobots, grippers, and positioners. Each entry is a .ygm container that bundles kinematics, physical specs, and meshes. Click Add and the robot drops into the scene. Bringing your own robot described by a URDF follows the same kinematic pipeline.
  3. Read the TF tree. The robot renders with its transform hierarchy intact — base to shoulder to elbow to wrist to tool. This is the same parent-child chain a URDF encodes, so the link names line up with what you would see in ROS.
  4. Drag the joint sliders. Open the Joints panel and move a slider. The arm re-poses in real time because Yugma runs forward kinematics in the browser at 60fps. This is the fastest way to sanity-check joint axes, limits, and rough reach without writing any code.
  5. Optionally run physics. Flip Run physics and the same joint model is handed to Rapier, a WebAssembly physics engine, so the robot responds to gravity and joint limits. It runs on the same live scene graph the AI Director composes — see how it works. This is a feel of motion, not a contact-rich dynamics sim.
  6. Share a link. Export a read-only viewer URL and drop it in Slack, Jira, or email. Whoever opens it sees the same posed robot in their browser, with nothing to install on their end.

The Z-up vs Y-up gotcha that breaks DIY viewers

Here is the single detail that trips up almost every hand-rolled viewer. ROS and URDF follow REP-103: the world is Z-up. Three.js, the engine most browser viewers build on, is Y-up. Load a URDF mesh straight into a naive three.js scene and the robot lies on its side, or its joint axes point the wrong way and FK produces nonsense.

The fix is a coordinate conversion at the root of the model: rotate the whole robot from Z-up into Y-up while keeping each child node Z-up-local, so joint re-actuation still computes correctly. Yugma does this conversion for you at load time. If you build your own viewer, budget real engineering time for this step — it is the difference between a robot that stands up and one that does not.

FAQ

Do I need ROS or Linux to view a URDF?

No. A browser viewer renders the robot from its kinematic description without a ROS installation, a Linux machine, or a display server. You open a URL and the robot is there, on whatever device you already have.

Can I pose the robot, or is it just a static render?

You can pose it. Joint sliders drive live forward kinematics, so dragging a slider re-poses the arm instantly. That lets you check joint limits and rough reach interactively, which a static screenshot cannot show.

Is this a physics simulator?

Not a full one. The optional Rapier pass gives you rigid-body motion under gravity and joint limits, which is enough to feel how a mechanism moves. For contact-rich dynamics — grasping, friction, deformable parts — use Gazebo or Isaac Sim.

Once a single robot renders, the natural next step is arranging several into a work cell.

Lay out a full robot work cell in your browser →