Skip to main content

Rerun vs. Foxglove: A practical guide for modern robotics development.

Compare Foxglove and Rerun—SDKs, MCAP, live + recorded data, collaboration, and when teams choose Foxglove.


We’ll be honest here, these types of pages are for Search Engine Optimization (SEO/AEO), but also because we do get asked from time to time: what’s the difference; “Foxglove vs Rerun”. First and foremost, we respect the Rerun team and the work they’re doing—healthy competition pushes all of us to ship better products faster. This post lays out a technical, humble comparison, and explains when and why serious robotics and Physical AI teams choose Foxglove.

Tl;dr

  • Both tools have modern C++/Python/Rust SDKs and strong local visualization. Rerun is code-first; Foxglove is a full platform + SDK for live streams, recorded data, organization-wide search, collaboration, and fleet operations.
  • MCAP is first-class in Foxglove (record, ingest, index, stream, and export). MCAP support is explicitly marked early/experimental within Rerun thus limited capability.
  • Why teams standardize on Foxglove: one place for live + recorded data, rich collaboration and data organization (Devices, Events, Timeline), data management (Projects, Agent, Primary Sites), API/CLI, SSO, embeddable views and extensibility, and enterprise data governance (SOC 2 Type II, GDPR, data encryption, identity management).

Quick comparison at a glance.

CategoryFoxgloveRerun
SDKsC++/Python/Rust SDK to log/stream to MCAP or FoxgloveC++/Python/Rust SDK to log & open in the Rerun viewer
Files & formatsOpen ROS 1 .bag, ROS 2 .db3/.mcap, native .mcap; merge multiple files into one timelineOpen .mcap directly; optional mcap → .rrd conversion for faster loading
Live ROSRecommended foxglove_bridge for ROS 1/2 over WebSocket“Use Rerun with ROS 2” via SDK/logging or MCAP layers
Viewer & vizDesktop & web app with 3D, Maps, Timeseries, etc.; shareable layouts; extensible ExtensionsNative & web Rerun viewer; Blueprint configs; Web embed; memory-limit controls
Team workflowsDevices, Events, and Timeline for curation and reviews; data import/export; SOC 2 Type IIOSS-centric workflows; DataFrame view & export to Arrow/pandas/Polars
Data ingest & opsAgent for on-device capture; Edge Sites for on-prem buffering & cloud syncCode-first logging; evolving data-in/data-out story via MCAP & RRD

One place for live + recorded data.

Live & recorded in one workflow: The Foxglove SDK streams live robot data to the app and logs the same data to MCAP for later analysis—no context switch. Your team can drag local logs in, open remote files by URL, or query time ranges from your organization’s recordings.

Why MCAP matters for robotics: MCAP is an open, serialization-agnostic container for timestamped pub/sub data (ROS, Protobuf, JSON, FlatBuffers, …) with chunking, indices, and optional compression (LZ4/Zstd) for fast seek/scan. It’s the default rosbag2 format in ROS 2 Iron and NVIDIA Isaac SIM, so logs are portable across tools, teams, and time.

Multi-file, merged timelines: Foxglove plays multiple files as one synchronized timeline (same format), which makes cross-sensor / cross-robot investigations practical. This works for local playback and mirrors how Foxglove merges recordings in the platform.

Data management at scale: In the platform, Foxglove indexes your recordings by device, time, and topic, streams them on demand, and lets you export selective ranges as .mcap or .bag. Teams add Events (bookmarks with metadata) to anchor reviews and share links.

Embed where your team works: Product & ops dashboards often need rich playback without leaving your app. Foxglove visualization panels are full extensible for custom views via TypeScript and React. You can also embed an iframe viewer for the layouts your ops teams need most.

One place to manage data.

Enterprises organize robots and logs into Projects so only the right people see the right data, with org-level controls (API keys, SSO, extensions).

The Foxglove Agent watches a storage directory and auto-registers/uploads recordings; you can match which ones to import automatically, and also enables live Teleoperation.

Primary Sites (cloud or self-hosted) index in place on your infra/Kubernetes. Only metadata leaves your network when fully self-managed—message contents stay in your environment. The query service merges objects and streams results efficiently.

Use the Foxglove API to import, search, label, and fetch; use webhooks to automate downstream processing. Export slices as MCAP/ROS bag when needed.

Enterprise controls enable you to enforce SSO (Google/Microsoft/OIDC) and use Roles to scope who can manage API keys, Sites, and more.

Foxglove SDK: when and how teams use it.

Languages & licensing: C++, Python, and Rust under MIT. One SDK to stream live to Foxglove and log MCAP for durable records.

Recommended patterns:

  • During R&D: stream live while logging to MCAP; reviewers open the same session later with a shared layout.
  • In field ops: run the Agent to auto-ingest logs; tag them by Device and annotate with Events so incidents are discoverable.
  • For proprietary stacks: keep your own serialization; Foxglove is schema-agnostic, and you can add extensions or embed the viewer in internal tools.

Direct SDK comparison: Foxglove SDK vs Rerun SDK.

CapabilityFoxglove SDKRerun SDK / Rerun viewer
Languages & licenseC++ / Python / Rust MITC++ / Python / Rust (open-source core)
Core modelOne SDK for live streaming to Foxglove and recording to MCAP (schema-aware, indexed)Entity-Component logging to the Rerun viewer (live) or to .rrd files; can also open MCAP
Live connectivityLocal WebSocket server integrates with your app; Foxglove connects for low-friction live reviewsspawn / connect_grpc / serve_grpc modes attach to a native or web viewer
File formatsFirst-class MCAP across app & platform; also reads ROS 1 .bag and ROS 2 .db3Open MCAP directly; optional MCAP → RRD conversion for performance
ROS pathWorks naturally with MCAP (ROS 2 default in Iron) and ROS 1 .bag; live via foxglove_bridge or SDKUse SDK logging with ROS 2 or record to MCAP and open/convert in the viewer
Data-outExport .mcap / .bag ranges or full runs; platform APIs & Python client for automationDataframe view and export to Arrow / pandas / Polars
EmbeddingOfficial @foxglove/embed & @foxglove/embed-react to control an iframe viewer (layouts, sources, extensions)Embed the Rerun viewer via iframe or use @rerun-io/web-viewer (npm)
Memory / scaling modelPlatform streams on demand (server-side indexing); Primary/Edge Sites keep data close to where it’s producedViewer bounded by RAM; defaults to ~75% usage and drops oldest data when over limit (configurable)
Best fitTeams standardizing on MCAP who need live + recorded in one place, with ingestion (Agent/Edge) and org featuresCode-first users wiring up Rerun viz with ECS logging, DataFrames, and optional MCAP→RRD conversion

Where and why teams choose Foxglove.

  1. One place for live + recorded data (with MCAP depth).
    • Stream via SDK, log to MCAP, and play everything back with shared layouts. Open local logs, open by URL, or stream from the platform.
    • MCAP gives you portable, indexed, compressed logs across ROS/proprietary stacks and across years.
    • Merge multiple files into a single timeline to debug multi-robot incidents.
    • Need to bring the review to your app? Embed Foxglove via @foxglove/embed (iframe with programmatic control).
  2. Team workflows built-in.
  3. Devices label what produced the data; Events bookmark moments and metadata; the Timeline makes big corpora navigable. Share deep links and layouts so every review looks the same.
  4. Data management and scale.
  5. Agent automates upload; Primary Sites manage throughput and data sovereignty; Projects lock down access; API/Webhooks automate the pipeline; exports give you MCAP/.bag slices for external tools.

A respectful note on Rerun: Rerun is developer-friendly, and its MCAP support (experimental) plus web viewer make it good for bespoke local pipelines and notebook workflows.

Migration quick-start (Rerun → Foxglove).

  1. Open your MCAP (or .bag) in Foxglove; for large analyses, import and stream from the platform.
  2. Adopt the SDK where you need live streams and unified MCAP logging.
  3. Automate ingest with the Agent; organize by Device; add Events as you triage.
  4. Embed a Foxglove view in your internal dashboard so non-engineers can self-serve.

Business and GTM snapshot (brief).

  • Foxglove offers Free/Team/Enterprise with SSO and self-host options (Projects, Sites) for regulated or data-sensitive teams.
  • Rerun is an open-source viewer + SDK; recent releases emphasize MCAP workflows and web embedding.

FAQs

Q: Does Rerun open MCAP files?

A: Yes—Rerun has built-in MCAP support and can also convert MCAP → RRD for performance. The docs describe MCAP support as early/experimental (active development).

Q: What’s the simplest way to get ROS 2 data into Foxglove?

A: Record to MCAP (ROS 2 Iron default) and open it in Foxglove; or stream live via the Foxglove SDK’s WebSocket server.

Q: Can Foxglove handle multiple files at once?

A: Yes—Foxglove merges multiple files of the same format into a single timeline.

Q: How do the SDKs differ at a high level?

A: Both offer C++/Python/Rust. Foxglove focuses on streaming + MCAP logging for a collaborative platform; Rerun emphasizes viewer-centric logging and can load/convert MCAP.

Closing thought.

If your team wants one system for live streams, recorded logs, organization-wide search, collaboration, data organization, and embeddable views—without giving up code-first ergonomics—Foxglove is the faster path to consistent, repeatable, and reliable results. Start with MCAP, add the SDK, and let the Agent handle the heavy lifting.

Get a demo today from one of our technical staff or get started to try it out for yourself.

Start building with Foxglove.

Get started for free