esc
Start typing to search the docs
Navigate Open

Opening files

The Rerun Viewer and SDK have built-in support for opening many kinds of files, and can be extended to support any other file type without needing to modify the Rerun codebase itself.

The Viewer can load files in 3 different ways:

  • via CLI arguments (e.g. rerun myfile.jpeg),
  • using drag-and-drop,
  • using the open dialog in the Rerun Viewer.

All these file loading methods support loading a single file, many files at once (e.g. rerun myfiles/*), or even folders.

The following data types have built-in support in the Rerun Viewer and SDK:

  • Native Rerun files: rrd, rbl
  • MCAP files: mcap
  • Robot descriptions: urdf
  • 3D models: dae, gltf, glb, obj, ply, stl
  • Images: avif, bmp, dds, exr, farbfeld, ff, gif, hdr, ico, jpeg, jpg, pam, pbm, pgm, png, ppm, tga, tif, tiff, webp
  • Depth images: rvl
  • Video: mp4
  • Audio: aac, flac, m4a, mp3, oga, ogg, opus, wav
  • Point clouds: ply
  • Parquet files: parquet
  • Text files: md, txt
  • LeRobot datasets: directory

A .ply file can hold either a mesh or a point cloud, so it is listed twice: its header decides which one you get. Point clouds may leave out z, in which case they load as 2D.

Files can also be opened from an HTTP URL (e.g. rerun https://demo.rerun.io/version/latest/examples/dna/data.rrd). rrd and rbl files are streamed, while other supported formats are downloaded first and then loaded.

Logging file contents from the SDK

To log the contents of a file from the SDK you can use the log_file_from_path and log_file_from_contents methods (C++, Python, Rust) and the associated examples (C++, Python, Rust).

import sys

import rerun as rr

rr.init("rerun_example_log_file", spawn=True)

rr.log_file_from_path(sys.argv[1])