Use Cases Compare Learn Blog Docs Open Studio

RViz vs Foxglove vs Browser ROS 2 Viz: Which to Use in 2026

RViz vs Foxglove is the default argument in every ROS 2 team, and in 2026 there's a third option worth putting on the table: browser-based ROS 2 visualization. This is a decision guide, not a sales pitch — each tool wins a different job, and picking wrong costs you hours of setup or a per-seat bill you didn't need. Below is a side-by-side, then a "pick by job" section so you can stop reading and get back to work.

RViz vs Foxglove vs browser ROS 2 viz, at a glance

RViz2Foxglove 2.0RerunBrowser viz (Yugma)
InstallROS desktopWeb + desktop appDesktop + SDKNone — any browser
Best OSLinuxAnyAnyAny
Open-sourceYes (BSD)No (2.0 closed)YesNo
CostFree~$42/seat + deviceFreeFree / €19 / €99
Share a live viewX11 / VPNCloud (paid).rrd fileLink
Live ROS 2NativeWS + MCAPVia SDKrosbridge + WS
TF / URDFFirst-classFirst-classNot nativeURDF, TF, teleop
rosbag / MCAP scrubBasicDeepestReplay logsRecord / replay
Time-series plotsAdd-onsDeepestYesNot yet
Robot catalogNoneNoneNone1,315 models
Browser simNoNoNoFK + Rapier

Read that table as four different tools optimized for four different moments, not a leaderboard. Here's the detail behind each column.

RViz2: the reference, if you live on Linux

RViz2 ships with ROS 2, is BSD-licensed, and speaks the graph natively — TF, URDF, costmaps, markers, point clouds, the works. For a roboticist debugging at their own desk on Ubuntu, nothing is faster or more trusted. It's free and it's open-source, so there's no seat to justify.

The catch is everything outside your own desk. RViz is a desktop Qt app that is Linux-first, and it has no real sharing story. To get an RViz view in front of someone else you end up doing one of these:

# The usual "share RViz off a Linux box" dance
ssh -X user@robot-host        # X11 forward — laggy over a WAN
# or: run RViz in Docker + a VNC / noVNC session, then screen-share

On a MacBook it's worse — you're running a Linux VM or a container with a virtual display just to open the window. RViz is the right answer for solo desk debugging and the wrong answer the moment "can you show me?" enters the conversation.

Foxglove: polished, cross-platform — now paid and closed

Foxglove is the cross-platform upgrade a lot of teams reached for: a web and desktop app with best-in-class rosbag / MCAP scrubbing and synchronized time-series plots. For forensic debugging — replaying a bag frame by frame across a dozen panels — it's still the strongest tool in this list.

What changed is the deal around it. Foxglove 2.0 is closed-source and per-seat (published around $42/user per month, plus a per-device fee at fleet scale), and self-hosted deployment is now Enterprise-only. If that breaks your budget or your air-gap requirement, a Foxglove alternative is worth a look — the open-source Lichtblick fork keeps the familiar UX, and the browser lane below covers the "share it" job.

Rerun: a great logger, not a ROS graph viewer

Rerun deserves a mention because it's genuinely excellent — a fast, open-source, Rust-based viewer for multimodal data (point clouds, images, tensors, time-series) that you log from your own code via a Python, C++, or Rust SDK. If your workflow is "instrument my perception or ML pipeline and scrub the recording," Rerun is a joy.

But it's a different job. Rerun does not subscribe to a live ROS 2 graph, and it has no first-class TF tree or URDF loader — you bridge data in through the SDK. It complements a ROS viewer; it doesn't replace one. If you came here for "how do I see my TF tree and costmap," Rerun isn't the tool.

Browser ROS 2 viz: zero-install, shareable, catalog-backed

The browser lane solves the exact weakness RViz and Foxglove-without-a-cloud-seat share: getting a live view to someone who won't install ROS. Yugma connects over rosbridge or the Foxglove WebSocket protocol and renders URDF, TF tree, PointCloud2, OccupancyGrid, and camera feeds in a plain browser tab. It adds teleop (cmd_vel, Nav2 goals), MCAP record and replay, and WebXR teleop with a safety stop.

Two things set it apart from a pure viewer. It ships a 1,315-model industrial catalog (kinematics + specs + meshes) — for context, the entire public URDF corpus is roughly 195 unique models per a recent arXiv survey — so you can stand up a robot before hardware exists. And it runs in-browser forward kinematics with joint sliders plus Rapier physics, so models move, not just sit. That same catalog and layout capability is why the browser lane also shows up when integrators need to concept a robot cell without a €40k CAD seat.

Be honest about the tradeoffs: Yugma is not open-source, and it is not a plotting-and-forensics debugger yet. There's no mature time-series panel, and its MCAP scrubbing isn't Foxglove-deep. It's built to visualize, teleop, and share — not to replace your bag-forensics tool.

Pick by job

Most serious teams end up with two of these, not one: a native tool for deep debugging and a browser tool for sharing and concepting.

FAQ

Is RViz or Foxglove better for ROS 2?

It depends on the job. RViz2 is the native, free, open-source desktop tool — best when you're on Linux debugging TF, costmaps, and markers at your own desk. Foxglove is better for cross-platform teams and deep rosbag / MCAP forensics with synchronized plots — but it's now closed-source and per-seat. Neither is universally "better"; they optimize for different moments.

What's the easiest way to share an RViz view?

Honestly, there isn't an easy native one — that's RViz's weak spot. You either sit at the robot's Linux machine, X11-forward it (laggy over a WAN), or run it in Docker with a VNC / noVNC session and screen-share. If sharing is the whole point, a browser viewer that hands someone a URL is the lower-friction path.

Can I visualize ROS 2 without a Linux machine?

Yes, for viewing. ROS 2 and the rosbridge or Foxglove WebSocket bridge have to run on a Linux host somewhere, but once they do, a browser-based viewer lets you open URDF, TF, point clouds, and camera feeds from macOS, Windows, or a tablet — with no local ROS install.

View a URDF robot in the browser →