ToolConvoyToolConvoyv2.6
MISC

MCAP to CSV — Convert ROS2 Robot Logs to CSV Online Free

Convert ROS2 MCAP robot log files to CSV spreadsheets. Extract channel messages with timestamps and hex payloads. 100% private — your data never leaves your device.

● LOCAL · BROWSER-ONLY0 network requests from tools since page load

MCAP files are the flight recorders of robotics — every sensor reading, every control command, every diagnostic message is timestamped and stored for later replay and analysis. The format is binary and structured: a sequence of records, each with an opcode identifying its type (header, channel declaration, message, schema definition, chunk, etc.), a 64-bit record length, and a record-specific payload. The MCAP to CSV tool reads this binary stream and extracts the most commonly needed data into CSV spreadsheets: channel metadata (topic names, message encodings, schema IDs), schema definitions, and message data with log timestamps and hex-encoded payloads. Each channel gets its own CSV block for easy per-topic analysis.

The MCAP format was designed by Foxglove as the recording standard for ROS2, replacing the ROS1 bag format. It has several advantages over the older format: it is self-describing (schemas are embedded in the file), it supports multiple compression codecs, it has a well-defined binary structure with a fixed magic number (\u0089MCAP0\u00d1\u001a), and it is language-agnostic with official libraries in C++, Python, TypeScript, and Go. The browser tool leverages the fixed binary structure to parse records without any runtime dependencies — just the JavaScript DataView and Uint8Array APIs built into every browser.

The primary use case: a robotics engineer records a test run on the robot, produces a 500 MB MCAP file, and needs to inspect a specific topic — say, the /imu accelerometer data — without launching the full ROS2 toolchain. The browser tool extracts that channel’s messages as a CSV with timestamps and hex payloads. The engineer opens the CSV in Excel, plots the timestamp column, and checks that the data rate is correct. The file is read locally by the FileReader API; no bytes are ever transmitted. For full decompression and schema-aware decoding, mcap-cli and Foxglove Studio provide the next level of capability.

Advertisement

How to use

  1. Drop your MCAP file

    Drag and drop a `.mcap` file onto the upload area. MCAP is the standard recording format for ROS2 (Robot Operating System 2), used to log sensor data, control commands, diagnostics, and inter-node communication during robot operation.

  2. View the extracted data

    The tool parses the MCAP binary structure and extracts channels (ROS2 topics), schemas (message definitions), and messages. Each channel's messages are output as a CSV block with log timestamp, sequence number, and hex-encoded payload data. File metadata (profile, library) and channel/schema summaries are included.

  3. Download as CSV

    Download the output as a `.csv` file. Import into Excel, Python pandas, or MATLAB for visualization, statistical analysis, or archival. The hex payload can be decoded to structured data using the message schema definition from the channel metadata.

Frequently asked

What is MCAP?

MCAP (pronounced 'em-cap') is the standard recording and replay format for ROS2, designed by Foxglove. It stores timestamped messages from robot topics in a binary format with optional chunk compression. It is the ROS2 successor to the ROS1 `.bag` format, used for recording and replaying sensor data, actuator commands, and diagnostics during robot testing and deployment.

What data is extracted?

File header: MCAP profile and generating library. Channels: for each ROS2 topic, the channel ID, topic name, message encoding, and linked schema ID. Schemas: schema name, encoding, and raw schema data. Messages: for each channel, the log timestamp (nanoseconds since epoch), message sequence number, and the first 64 bytes of the payload as hexadecimal.

Is my robot data uploaded?

No. All processing runs entirely in your browser using the FileReader API and JavaScript byte parsing. The MCAP file is read locally and never transmitted to any server. The page works offline after loading. Robot logs can contain sensitive data — proprietary algorithms, test results, and system diagnostics — that should never leave your machine.

What about chunk compression?

MCAP files can optionally use chunk compression (LZ4 or ZSTD) for storage efficiency. This tool parses uncompressed records and can identify chunk records (opcode 0x06), but it does not decompress chunk payloads. Messages inside compressed chunks are not extracted. For compressed files, use mcap-cli or Foxglove Studio.

How does this compare to mcap-cli and Foxglove?

mcap-cli (`pip install mcap`) provides full command-line introspection, including decompression and schema-aware message decoding. Foxglove Studio provides a full GUI with plotted time-series, 3D visualizations, and point cloud rendering. The browser tool fills the lightweight gap — quick inspection in Excel without installing ROS2 tooling, useful for sharing subsets of data with non-robotics colleagues.

Limitations

  • No chunk decompressionMessages stored inside compressed chunks (LZ4 or ZSTD) are not extracted. The tool identifies chunk records but does not decompress them. Use mcap-cli or Foxglove for full decompression support.
  • No schema-aware decodingMessage payloads are output as raw hex strings. The tool does not use schema definitions to decode messages into typed fields (e.g., float32, string, custom ROS2 message types). Use mcap-cli with ROS2 message definitions for typed decoding.
  • No ROS1 bag supportROS1 `.bag` files use a completely different format based on a SQLite database with custom record types. This tool only supports the MCAP format introduced in ROS2. Use `rosbag` or `bagpy` for ROS1 bag files.

Platform notes

macOS
MCAP files from ROS2 robots can be inspected in the browser without installing ROS2 or mcap-cli. For full decoding, `pip install mcap` and run `mcap info file.mcap && mcap cat file.mcap`.
Windows
ROS2 on Windows produces MCAP files compatible with this tool. For full ROS2 tooling, install ROS2 Humble or later via Chocolatey or from the ROS2 Windows binaries.
Linux
`mcap-cli` (`pip install mcap`) is the standard CLI tool for MCAP introspection. `ros2 bag info` from ROS2 provides similar metadata. The browser tool is useful for quick inspection without a terminal or for sharing data with non-robotics team members.
Web
Runs entirely in the browser. MCAP data is never transmitted to any server. Robot log files can contain proprietary sensor configurations, tuning parameters, and test data that should stay on your machine.
Advertisement
Advertisement