Why Foxglove? // Foxglove vs. RViz

Foxglove vs. RViz

RViz (ROS Visualization) is an open-source 3D visualization tool within the Robot Operating System (ROS), for visualizing a robot’s sensor data, state, and environment. It helps developers by displaying data from cameras, lidar, radar, and other sensors while visualizing robot models and joint states within the ROS ecosystem. Integrated with ROS topics, it streams real-time data, enabling interactive debugging and testing. RViz can be resource-intensive for large datasets and requires familiarity with ROS concepts. Nonetheless, it remains a good starting point for hobbyists and first-timers becoming familiar with ROS.

Foxglove is purpose-built visualization and observability for robotics and embodied AI development.

Foxglove empowers over 10,000 robotics and embodied AI developers and supports hundreds of robotics companies in accelerating and scaling their development. From data collection and ingestion to visualizing, debugging, and managing robotic data, Foxglove streamlines every step of the development process, enabling teams to innovate faster and more effectively.

“Things that were impossible before are now possible.”

Robert Sun, Founding Engineer, Dexterity
Visualization and analysis
Offers a comprehensive suite of 20+ integrated panels (e.g., Image (h.264, h.265, VP9, AV1), 3D, plot, state, raw messages, etc) all with extensive analysis features for diverse data types, enabling users to sync and arrange panels within sharable layouts. Foxglove works with live and recorded data streams.
Primarily focuses on 3D scene visualization and camera images; additional functionalities require separate tools like rqt_multiplot and rqt_graph.
Data collection and management
Includes native capabilities managing and visualizing both live and recorded data, facilitating efficient troubleshooting and debugging.
Primarily designed for real-time data visualization; handling recorded data requires additional tools or workflows.
Performance
Designed to handle diverse, complex multimodal robotics data efficiently including displaying over a dozen panels streaming h.265 video at 5x speeds and plotting thousands of points from temporal data and rendering point cloud, annotations, and more, in complex 3D scenes.
Performance is known within the community; requires optimizations for handling large datasets or complex visualizations.
Extensibility
Supports user-contributed extensions via React, allowing for easy installation of custom panels as well as message converter extensions to convert messages from one schema to another and topic alias extensions to alias topics in your data source to new topics.
Enables extensions through C++ plugins, which require compilation and installation.
Integration
Provides a unified environment for various visualization tools, data formants (MCAP, ROS, Protobuf, FlattBuffers, JSON) reducing the need to install and learn multiple applications.
Necessitates the use of multiple separate tools for diverse data visualization.
User Interface
Features a modern, user-friendly interface utilizing modern web technologies and languages, including customizable layouts and integrated panels for a streamlined user experience.
Provides a traditional interface focused on 3D visualization.
Support
Provides official support channels and documentation; community support is growing.
Benefits from a large, established community with extensive documentation and user-contributed resources.
Learning curve
Offers an intuitive interface with no coding required  that’s easy for new users to learn, especially with integrated tools reducing the need to manage multiple applications.
Has a steeper learning curve due to the necessity of integrating multiple tools for comprehensive functionality.
Platform compatibility
Available as both a web and desktop application (MacOS, Linux, Windows), providing flexibility in deployment and access.
Primarily a desktop application; requires additional setup for remote access or web-based visualization.

Foxglove is designed with a deep integration for ROS data.

The deep ROS integration makes Foxglove a powerful tool for visualizing and debugging ROS-based systems. Its user-friendly interface and feature set streamline workflows, enabling robotic developers to work efficiently with ROS data streams in real-time or offline. Here’s how Foxglove supports ROS and simplifies getting started:

Native support for ROS 1 and ROS 2

Foxglove supports both ROS 1 and ROS 2, ensuring compatibility regardless of the ROS version your project uses. It connects to ROS environments seamlessly, enabling real-time visualization of data from ROS topics, services, and parameters without additional setup or middleware.

Easily connect to your ROS data with the native Foxglove_bridge, a high-performance C++ node that seamlessly links ROS stacks to Foxglove via WebSocket. With minimal overhead, it supports both ROS 1 and ROS 2 for smooth integration.

Foxglove also offers multiple options for live ROS data integration, including the WebSocket protocol for simplicity, Rosbridge for efficient single-port communication, and native TCP connections, providing flexible and reliable real-time data access tailored to your robotics workflows.

Streaming data from ROS bags.

Foxglove makes it easy to load and visualize data from ROS bag files, which are used to record and replay ROS data. Developers can replay bag files in Foxglove to analyze historical data, debug issues, or validate system performance. This capability is invaluable for diagnosing problems that occur in the field.

Get started instantly. Load files effortlessly by dragging and dropping a bag file, double-clicking, or selecting “Open local file.”

Browser-based access.

Foxglove supports ROS data visualization directly in the browser. This capability eliminates the need for complex installations or dependencies, allowing teams to access and share insights from any device.

Getting started with Foxglove is straightforward and requires minimal setup:

1. Download and install Foxglove for your platform (Windows, macOS, or Linux) or use it directly in your browser.
2. Drag and drop your ROS bag files into Foxglove to start replaying and analyzing data immediately.

Why Choose Foxglove for ROS Data?


Foxglove simplifies the complexity of working with ROS data by integrating real-time visualization, debugging, and analysis into one powerful tool. Its compatibility with both ROS 1 and ROS 2, combined with its intuitive interface and seamless setup, ensures robotics developers can start visualizing and debugging ROS data quickly and efficiently. Whether you’re working on a small research project or scaling a complex robotics system, Foxglove’s comprehensive ROS support accelerates development and enhances insight.

“It fills a longstanding gap in the ROS ecosystem.”

Mirza A. Shah, CTO and Co-founder, Simbe

Start building with Foxglove.

Get started for free