KnowledgeApr 2, 2026·3 min read

Rerun — Visualize Multimodal AI Data in Real-Time

SDK for logging, storing, and visualizing 3D, images, time series, and text in real-time. Built for robotics and AI. 10K+ stars.

TL;DR
Rerun logs and visualizes 3D, images, and time series in real-time for AI work.
§01

What it is

Rerun is an open-source SDK and viewer for logging, storing, and visualizing multimodal data in real-time. It handles 3D point clouds, camera images, time series, tensors, text, and more -- all in a single interactive viewer. The SDK supports Python, Rust, and C++, and the viewer runs natively or in the browser via WebAssembly.

It targets robotics engineers, computer vision researchers, and AI developers who need to inspect and debug complex spatiotemporal data streams during development.

§02

How it saves time or tokens

Rerun replaces the patchwork of matplotlib plots, custom OpenGL viewers, and print statements that developers typically use to debug multimodal data. Instead of writing visualization code for each data type, you call rr.log() and the viewer handles rendering, time synchronization, and interaction. Data is automatically time-aligned, so you can scrub through recordings and see exactly what happened at any point.

§03

How to use

  1. Install and initialize:
pip install rerun-sdk
  1. Log data to the viewer:
import rerun as rr
import numpy as np

rr.init('my_app', spawn=True)  # Opens the Rerun viewer

# Log different data types
rr.log('camera/image', rr.Image(np.random.rand(480, 640, 3)))
rr.log('lidar/points', rr.Points3D(np.random.rand(1000, 3)))
rr.log('metrics/loss', rr.Scalar(0.42))
  1. Record and replay sessions:
# Save to file for later analysis
rr.save('recording.rrd')

# Load and view a saved recording
# rerun recording.rrd
§04

Example

import rerun as rr
import numpy as np

rr.init('robot_debug', spawn=True)

# Simulate a robotics debugging session
for t in range(100):
    rr.set_time_sequence('frame', t)
    
    # Log camera feed
    image = np.random.randint(0, 255, (480, 640, 3), dtype=np.uint8)
    rr.log('sensors/camera', rr.Image(image))
    
    # Log 3D point cloud from LiDAR
    points = np.random.rand(500, 3) * 10
    rr.log('sensors/lidar', rr.Points3D(points))
    
    # Log robot pose
    rr.log('robot/position', rr.Scalar(np.sin(t * 0.1)))
    rr.log('robot/heading', rr.Scalar(np.cos(t * 0.1)))
§05

Related on TokRepo

§06

Common pitfalls

  • High-frequency logging (thousands of points per frame at 60fps) can overwhelm the viewer. Downsample data or reduce logging frequency for smooth performance.
  • The Rerun viewer requires a GPU for 3D rendering. Remote development over SSH needs X11 forwarding or the web viewer.
  • Large recordings (.rrd files) can grow to gigabytes. Set time limits or use selective logging to keep file sizes manageable.

Frequently Asked Questions

What data types can Rerun visualize?+

Rerun supports 3D point clouds, meshes, images, depth maps, segmentation masks, 2D and 3D bounding boxes, time series scalars, text logs, tensors, and more. Each data type has dedicated rendering in the viewer with appropriate controls (zoom, rotate, scrub timeline).

Does Rerun work with PyTorch and TensorFlow?+

Yes. Rerun works with any Python library. Log PyTorch tensors, NumPy arrays, or TensorFlow data by converting to NumPy and passing to rr.log(). Rerun is framework-agnostic and integrates into existing ML training loops, inference pipelines, and data processing scripts.

Can I use Rerun in a Jupyter notebook?+

Yes. Rerun provides a Jupyter widget that embeds the viewer directly in a notebook cell. Call rr.init with the notebook=True option, and the viewer renders inline. This is useful for interactive data exploration during research.

Is Rerun suitable for production monitoring?+

Rerun is primarily designed for development and debugging, not production monitoring. It excels at detailed inspection of multimodal data during development. For production metrics, use dedicated monitoring tools. Rerun works well for post-hoc analysis of production recordings.

What languages does the Rerun SDK support?+

Rerun provides SDKs for Python, Rust, and C++. The Python SDK is the most feature-complete and commonly used. The Rust SDK offers native performance for high-throughput logging. C++ support enables integration with robotics frameworks like ROS.

Citations (3)
🙏

Source & Thanks

Created by Rerun. Licensed under Apache-2.0.

rerun — ⭐ 10,500+

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets