# Rewire — stream ROS 2 topics to Rerun with zero ROS 2 build dependencies

**URL:** https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233
**Category:** ROS General
**Tags:** ros2, dds, tools, zenoh
**Created:** [March 15, 2026, 11:25pm UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233 "2026-03-15T23:25:39Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![alvgaona](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/alvgaona/32/32800_2.png) [@alvgaona](https://discourse.openrobotics.org/u/alvgaona)
#### Post date: [March 15, 2026, 11:25pm UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/1 "2026-03-15T23:25:39Z")

</div>

**Title:** Rewire — stream ROS 2 topics to Rerun with zero ROS 2 build dependencies

Hi all,

I’ve been working on **Rewire** , a standalone bridge that streams live ROS 2 topics to  
[Rerun](https://rerun.io) for real-time visualization. I wanted to share it here and get feedback from the  
community.

## The problem it solves

Setting up visualization tooling in ROS 2 often means pulling in dependencies,  
building packages, and dealing with middleware configuration. I wanted something that just works — point it at a DDS/Zenoh network and start visualizing.

## How it works

Rewire is a single Rust binary that speaks DDS and Zenoh wire protocols directly. It’s **not** a ROS 2 node —  
it doesn’t join the ROS graph or require any ROS 2 installation. It acts as a passive observer.

```bash
curl -fsSL https://rewire.run/install.sh | sh
rewire record -a # subscribe to all topics

```

## What’s supported

- **53 type mappings** across `sensor_msgs`, `geometry_msgs`, `nav_msgs`, `tf2_msgs`, `vision_msgs`, `std_msgs`, and `rcl_interfaces` — including Image, PointCloud2, LaserScan, TF, Odometry, Detection2D/3DArray, and more.
- **Custom message mappings** — map any ROS 2 message type to Rerun archetypes via a JSON5 config file, no recompilation.
- **URDF visualization** — loads from `/robot_description`, resolves meshes via `AMENT_PREFIX_PATH`.
- **Full TF tree** — static + dynamic transforms with coordinate frame visualization
- **Per-topic diagnostics** — Hz, bandwidth, drops, and latency rendered as Rerun Scalars.
- **Topic filtering** — glob-based include/exclude patterns.

## Platforms

Linux (x86\_64, aarch64) and macOS (Intel + Apple Silicon).

## Install options

- **Install script:** `curl -fsSL https://rewire.run/install.sh | sh`
- **prefix.dev:** `pixi global install -c rewire rewire`
- **APT repository** for Debian/Ubuntu

I’d love to hear your thoughts — especially around which message types or workflows you’d want supported next. If you run into issues, feedback is very welcome.

Website: [https://rewire.run](https://rewire.run)

---

<div class="post-metadata">

### Author: ![chfritz](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chfritz/32/26180_2.png) [@chfritz](https://discourse.openrobotics.org/u/chfritz)
#### Post date: [March 16, 2026, 12:24am UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/2 "2026-03-16T00:24:04Z")

</div>

Interesting project! Are you planning to make this open-source, like Rerun itself, or are you not yet sure about that?

---

<div class="post-metadata">

### Author: ![PeixuanShu](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/peixuanshu/32/16017_2.png) [@PeixuanShu](https://discourse.openrobotics.org/u/PeixuanShu)
#### Post date: [March 16, 2026, 7:12am UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/3 "2026-03-16T07:12:56Z")

</div>

Good work! I would like to compare it with Foxglove and Foxglove Bridge, which also visualize ROS/ROS2 data through a bridge. What are the benefits of Rewire and Rerun?

---

<div class="post-metadata">

### Author: ![alvgaona](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/alvgaona/32/32800_2.png) [@alvgaona](https://discourse.openrobotics.org/u/alvgaona)
#### Post date: [March 16, 2026, 2:58pm UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/4 "2026-03-16T14:58:11Z")

</div>

Hi @chfritz, for now it’ll remain closed‑source, but my goal is to open it up once it has matured and stabilized.

---

<div class="post-metadata">

### Author: ![alvgaona](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/alvgaona/32/32800_2.png) [@alvgaona](https://discourse.openrobotics.org/u/alvgaona)
#### Post date: [March 16, 2026, 3:04pm UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/5 "2026-03-16T15:04:32Z")

</div>

Foxglove is a really solid tool. Its bridge is built on top of the ROS 2 client libraries (essentially ‎`rclcpp`), which introduces some runtime overhead, but in practice it works very well—I’ve verified this in my own testing. Rewire works with no ROS 2 runtime (connects to the topics directly in Rust).

As for Rerun, it is a code‑first, multimodal visualizer, and Rewire is designed specifically to bridge ROS 2 into that ecosystem. Rewire currently supports more ROS 2 message types than both Foxglove and the Rerun MCAP ingestor. It also offers additional capabilities such as Zenoh support, which I believe ROS 2 is actively evaluating as a potential medium‑term alternative to DDS, as well as custom mappings for unknown or custom messages via JSON5 configuration files and built‑in diagnostics for the bridge itself.

---

<div class="post-metadata">

### Author: ![chfritz](https://sea2.discourse-cdn.com/flex022/user_avatar/discourse.openrobotics.org/chfritz/32/26180_2.png) [@chfritz](https://discourse.openrobotics.org/u/chfritz)
#### Post date: [March 16, 2026, 3:19pm UTC](https://discourse.openrobotics.org/t/rewire-stream-ros-2-topics-to-rerun-with-zero-ros-2-build-dependencies/53233/6 "2026-03-16T15:19:21Z")

</div>

> [@PeixuanShu](#):
>
> I would like to compare it with Foxglove and Foxglove Bridge, .. What are the benefits of Rewire and Rerun?

Rerun is open-source.
