Updated for 2025. This is a straight‑to‑the‑point comparison of RViz, Foxglove, and Rerun through the workflows that matter: live ROS, file playback (bag/db3/MCAP), collaboration, extensibility/SDKs, and performance. It also covers what’s new—namely, the Foxglove SDK—and why more teams are standardizing on Foxglove.
What’s new:
- Foxglove SDK (C++/Python/Rust, MIT): stream data live into Foxglove or log directly to MCAP—with quickstarts and examples.
- rosbag2 → MCAP by default (ROS 2 Iron+) improves portability across tooling.
- Multi‑file, merged timelines and Timeline view speedups make large, fragmented logs practical.
Tl;dr
- Choose Foxglove if you want a complete, high‑performance platform purpose-built for robotics and Physical AI development—open .bag / .db3 / .mcap, synchronize topics on a single timeline (including multi‑file), stream live ROS via foxglove_bridge, collaborate across Devices/Events/Projects, and now seamlessly produce data with the Foxglove SDK.
- Keep RViz for interactive markers and deep ROS debugging inside the dev env; it remains the canonical ROS GUI.
- Rerun is a code‑first visualizer with SDKs and early built‑in MCAP support; ROS usage commonly relies on bridges/logging. It’s handy for custom pipelines—but most teams will find Foxglove’s integrated platform (and SDK) gets them further, faster.
At‑a‑glance comparison (2025).
Category |
Foxglove |
RViz / RViz 2 |
Rerun |
Platform |
Web + Desktop |
Desktop (ROS env) |
Desktop |
Live ROS |
foxglove_bridge (ROS 1) over WebSocket
Foxglove SDK (ROS 2)
|
ROS-native GUI, node graph |
Bridges / logging examples |
File playback |
.bag / .db3 / .mcap; multi-file merged timeline
|
Via rosbag / ros2 bag playback |
MCAP viewing (early), plus RRD |
3D & panels |
Modern 3D + 25+ panels; synchronized timeline, extensible viewer
|
Strong 3D + interactive markers |
Configurable viewer |
Collaboration & data mgmt |
Devices, Events, Timeline, Projects, PBs of storage and high-performance streaming
|
— |
— |
Extensibility |
Extensions (JS/TS); embed, SDK |
C++ plugins |
SDK-first |
SDKs |
Foxglove SDK: C++ / Py / Rust (live streaming + MCAP logging) |
— |
C++ / Py / Rust (logs to viewer/file) |
Pricing |
Free (3 users / 10 devices / 10 GB) + paid tiers |
Free (open source) |
Free (open source) |
What changed: the Foxglove SDK (and why it matters).
The Foxglove SDK brings a unified, robotics‑friendly way to stream live data into Foxglove or log directly to MCAP from C++/Python/Rust. That means your code can publish structured, time‑synchronized streams (images, lidar, transforms, telemetry) that are immediately explorable in Foxglove’s panels and 3D scene—or saved as portable MCAP for later analysis and sharing.
- Languages & license: C++, Python, Rust; MIT.
- Developer experience: quickstarts and an end‑to‑end example that goes from “hello world” to a live visual in minutes.
- Fits your stack: pair it with foxglove_bridge for ROS 1 or use it standalone for non‑ROS systems.
Why this tips the scales: you now get one platform + one SDK for live + recorded data, backed by Projects, Devices, Events, and Timeline for collaboration and fleet‑scale capabilities. For many teams, this is the most comprehensive and performance‑friendly way to build, debug, and ship reliable autonomous robots today.
Deep dive on the criteria that decide rollouts.
1) Live ROS connectivity and latency.
- Foxglove: Connect ROS 1 via foxglove_bridge (WebSocket) or ROS 2 via the SDK. No special local ROS setup for viewers; works in desktop and the browser for remote debugging.
- RViz: The canonical ROS GUI with interactive markers, TF, URDF—great for in‑the‑loop manipulation and local development.
- Rerun: Typical usage is a bridge or logging node that subscribes to ROS topics and sends them to the viewer. This is flexible, but it’s an extra integration step.
2) File playback: bag / db3 / MCAP (and multi‑file).
- Foxglove: Drag‑and‑drop ROS 1 (.bag), ROS 2 (.db3), and MCAP (.mcap) + multiple other files with the new data loader capability (e.g.: drag-and-drop csv). When you open multiple files, Foxglove merges them into a single timeline. For legacy .db3 without message defs, Foxglove recommends converting to MCAP.
- Rerun: The viewer now opens MCAP directly (feature is early and evolving). For ROS bags, teams often replay via ROS or convert first.
- ROS 2 default: From Iron, ros2 bag records to MCAP by default—making it easier to move recordings across tools.
3) Analysis and visualization.
- Foxglove: >20 panels (3D, images/video, plots, maps, state transitions, topic graph, tables, audio, transform tree,…), all synchronized to the timeline.
- RViz: 3D viz and interactive marker support; plugin ecosystem if you’re staying inside ROS.
- Rerun: A capable viewer configured via SDK and blueprints; strong for code‑driven pipelines—less about team workflows.
4) Collaboration and data management.
- Foxglove: Devices (per‑robot), Events (time ranges of interest), Timeline (fast overview across recordings), Projects (Enterprise) for access control and organization, high performant data backend for unlimitied storage and direct streaming.
- RViz / Rerun: Primarily local workflows; you can store files and share configs, but there’s no equivalent built‑in data platform.
5) Extensibility and SDKs.
- Foxglove: Extensions (TypeScript) for custom panels/converters and programmatic embedding of the viewer—now alongside the Foxglove SDK (C++/Python/Rust) for easily producing data.
- Rerun: SDK‑first (C++/Python/Rust) for logging and viewing, with gRPC streaming options; good for bespoke tooling, but you’ll assemble more pieces yourself.
Where Foxglove stands out (and what that means for your team).
- One stack for live + recorded data—stream with foxglove_bridge or the Foxglove SDK, and analyze bags/MCAP in the same workspace.
- Best‑in‑class portability—first‑class MCAP support across the app and CLI; ROS 2’s move to MCAP‑by‑default reduces friction.
- Cross platform capable—desktop app availabe on MacOS, Windows, and Linux + web app available; available offline and also standalone air gapped (enterprise).
- Team‑ready by design—Devices, Events, Timeline make it obvious what happened, when, and on which robot, and Projects organize access at scale.
- Extensible where it counts—use Extensions for domain‑specific panels or converters, or embed Foxglove in your internal apps.
- Straightforward pricing to get started—Free for up to 3 users / 10 devices / 10 GB, with Starter/Team/Enterprise when you need more.
Migration quick‑start (RViz / Rerun → Foxglove)
- Install Foxglove (web or desktop).
- Open your data: drag .bag / .db3 / .mcap; opening multiple files merges them into one timeline.
- Connect live: stream and visualize your robot data live in Foxglove using the SDK
- Add context: create Devices and annotate Events; explore across time in Timeline; group access with Projects (Enterprise).
- Produce data with code: use the Foxglove SDK to stream or log to MCAP from C++/Python/Rust.
FAQs
Q: Does Foxglove support interactive 3D markers like RViz?
A: Foxglove fully visualizes markers and offers multiple interaction paths, but RViz’s interactive marker primitives (click‑drag controls, context menus) remain a native RViz feature. Many teams complement Foxglove with targeted RViz sessions when they need that specific interaction.
Q: Can Foxglove open ROS 2 .db3 files?
A: Yes. Foxglove supports .db3, though legacy .db3 may lack message definitions; Foxglove recommends converting to MCAP for portability.
Q: Does Rerun open MCAP?
A: Yes—built‑in MCAP viewing exists today, and the docs call the feature early and evolving.
Q: What’s the fastest way to programmatically get data into Foxglove?
A: Use the Foxglove SDK (C++/Python/Rust) to stream live or log to MCAP; for ROS, the foxglove_bridge provides a high‑performance path into the app.
Start free (3 users, 10 devices, 10 GB) or roll out Starter/Team for larger orgs—and use the Foxglove SDK to instrument your robots in minutes. Get a demo today.