ROS 2 BAG CONVERTER
db3 · csv · json

Read your dive logs
without ROS 2 installed

Drop a ROS 2 bag and inspect every topic, then export to clean CSV or JSON — all in your browser, your data never leaving this machine. Working with .mcap or scripting a pipeline? There's a Node & Python CLI too.

A ROS 2 bag hides your data inside a SQLite .db3 where every message is a raw, CDR-serialized binary blob. Open it without ROS 2 and you get unreadable bytes — not timestamps, not sensor values. This tool decodes those blobs in your browser and hands you clean, spreadsheet-ready CSV and JSON.

No ROS 2 required Nothing uploaded to a server

Drop your .db3 bag here

or click to browse — optionally include metadata.yaml

See it in action

01 Bag summary

overview, like ros2 bag info

02 Timeline

message density per topic over time — like rqt_bag · gaps reveal dropouts
Each lane is one topic; brighter cells carry more messages in that time bin. Hover a cell for the count.

03 Topics

select topics to export · expand any row to preview decoded messages
Topic Message type Messages Rate Decode

04 Export

JSON keeps full structure · CSV flattens nested fields into columns
0 topics selected
Working…0%

CSV flattens nested fields into columns (e.g. angular_velocity.x). Large binary arrays — point-cloud and image data — are summarized to keep files usable. Timestamps are preserved as seconds. Unknown message types export as raw byte-length placeholders rather than failing.