See your robot, live.

Drop-in ROS 2 bridge for Rerun. Stream topics to the viewer in seconds — no ROS 2 runtime required.

Newv0.11.0 release notes
Read the docs
macOS & Linux · v0.11.0 · also onprefix.dev·APT·GitHub Releases

Works with

ROS 2ReruneProsima Fast DDSEclipse Cyclone DDSEclipse Zenoh

Everything the bridge does, out of the box.

Zero ROS 2 runtime

Pure Rust binary. Speaks DDS and Zenoh natively — no colcon, no ament, no sourcing.

Built-in type mappings

Images, pointclouds, TF, poses, laser scans, odometry, and more — mapped out of the box.

Custom message mappings

Map any ROS 2 type to Rerun archetypes via JSON5 config. No code, no recompilation.

URDF + TF tree

Automatic robot model visualization from /robot_description with full transform tree.

Per-topic diagnostics

Hz, bandwidth, drops, and latency monitoring for every subscribed topic.

WebSocket API

Stream live ROS 2 data to any client. JSON and CDR formats, ZSTD compression, auth, and rate limiting.

Drop it in. Nothing else changes.

Read the docs

Single binary, minimal setup

No colcon, no workspace. Download a single Rust binary and run it. Rewire is not a ROS 2 node — it observes the network directly, so it never interferes with your ROS graph. Source your workspace only for URDF mesh resolution.

❯ curl -fsSL https://rewire.run/install.sh | sh Installing rewire 0.11.0 for aarch64-apple-darwin... rewire 0.11.0 installed to ~/.local/bin/rewire rewire-viewer installed to ~/.local/bin/rewire-viewer ❯ rewire -v rewire 0.11.0

From the graph to the viewer.

Rewire subscribes over DDS or Zenoh, converts each message to a Rerun archetype, and streams it through a relay — on one machine or across the network.

A plain rewire record starts the relay in-process and connects the bundled viewer through it. The bridge never talks to a viewer directly.

ROS 2 graph

DDS

Fast DDS · Cyclone

Zenoh

Native wire protocol

subscribe

In-process

Bridge

rewire record

gRPC

Relay

rewire serve

Rewire Viewer

Bundled

Rerun viewer

Stock, or browser

.rrd file

Archive on disk

Standard ROS 2 messages are built in. Custom ones are resolved over the wire. Nothing to source, nothing to build.

Automatic type resolution

Custom types on Jazzy and newer

Pose uncertainty renders as a shape you can see, not a number you have to imagine.

Covariance

1-sigma ellipsoids, straight off the wire

A recorded bag runs through the same converters as the live bridge — at recorded pace, or as fast as the machine allows.

Bag playback

rewire play · MCAP in, viewer or .rrd out

Live diagnostics, in the same recording as the data.

Run with --diagnostics and every subscribed topic reports its rate, bandwidth, drops and latency into the viewer as Rerun Scalars — next to the pointclouds and images they describe, not in a separate tool.

29.8Hz

Publish rate

Sampled per topic

12.0MB/s

Bandwidth

Per topic, on the wire

0 

Drops

Messages lost since start

0.2ms

Latency

Per topic

Fast, and out of your way.

60×

Faster than rclpy and rclcpp to discover topics

0%

Friction for developers. No code to modify, nothing to rebuild

<30 ms

Chunk processing, for a healthy viewer and low latency

Every detail you need for real work.

The long tail of things that turn a demo into a tool you leave running.

Bag playback with rewire play
Bundled viewer with ROS 2-native panels
Apple Silicon macOS, Linux x86_64 and aarch64
Remote streaming over gRPC
Per-topic throttling with --throttle
Topic filtering with glob patterns
h264 and h265 video streams
Automatic type resolution for Jazzy+
JSON5 config file with CLI overrides
Save recordings to .rrd files
DDS, Zenoh, or both per run
QoS negotiation and large buffer support
Latched topics replayed to late viewers
Runtime control without restarting the bridge
WebSocket auth and rate limiting
Auto-update for bridge and viewer
Shell completions (bash, zsh, fish)
rewire doctor environment health check

74 types, zero config.

Every common ROS 2 message type maps to a Rerun archetype automatically.

Mapping docs
sensor_msgs
16
ImageImage / DepthImage
CompressedImageexperimentalEncodedImage, EncodedDepthImage, VideoStream
CameraInfoexperimentalPinhole
PointCloud2Points3D
LaserScanPoints3D
ImuScalars
JoyScalars
JointStateScalars
NavSatFixGeoPoints
MagneticFieldArrows3D
BatteryStateScalars
TemperatureScalars
FluidPressureScalars
IlluminanceScalars
RelativeHumidityScalars
RangeScalars
geometry_msgs
13
PoseStampedInstancePoses3D, Scalars
PoseArrayPoints3D
PoseWithCovarianceStampedInstancePoses3D, Ellipsoids3D, Scalars
PointStampedPoints3D
PolygonStampedLineStrips3D
Twist / TwistStampedScalars
TwistWithCovariance(Stamped)Scalars
AccelStampedScalars
AccelWithCovarianceStampedScalars
WrenchStampedScalars
Vector3StampedScalars
QuaternionStampedScalars
VelocityStampedScalars
nav_msgs
4
OdometryInstancePoses3D, Ellipsoids3D, Scalars
PathLineStrips3D
OccupancyGridGridMap
GridCellsPoints3D
nav2_msgs
1
VoxelGridexperimentalVoxelGridMap
vision_msgs
2
Detection2DArrayBoxes2D
Detection3DArrayBoxes3D
visualization_msgs
3
MarkerArrows3D, Boxes3D, Mesh3D, …
MarkerArray(same as Marker)
ImageMarkerPoints2D, LineStrips2D
std_msgs
4
Float32 / Float64Scalars
Int8–Int64 / UInt8–UInt64Scalars
Bool / Byte / CharScalars
StringTextDocument / Asset3D
example_interfaces
4
Float32 / Float64Scalars
Int8–Int64 / UInt8–UInt64Scalars
Bool / Byte / CharScalars
StringTextDocument / Asset3D
tf2_msgs
1
TFMessageTransform3D, CoordinateFrame
geographic_msgs
3
GeoPoseStampedGeoPoints, Scalars
GeoPoseWithCovarianceStampedGeoPoints, Scalars
GeoPathGeoLineStrings
rcl_interfaces
1
LogTextLog

What's next.

Edge deployment

Run Rewire on resource-constrained devices like Jetson and Raspberry Pi.

Rerun Data Platform

Stream directly to the cloud for fleet-wide analytics and long-term storage.

More type mappings

Expanding coverage based on community feedback and real-world use cases.

Windows support

Bringing Rewire to Windows for cross-platform development workflows.

Get Rewire today.

Questions, feedback, or a type mapping you need? Join the discussion on GitHub.

Join the discussion on GitHub

Windows

Coming soon

Native builds are on the way, for cross-platform development workflows.

Install script

macOS and Linux. Detects your OS and architecture, then downloads the matching build.

Package managers

macOS & Linux · x86_64 and aarch64 · v0.11.0