Store multiple channels of timestamped log data, such as pub/sub messages or multimodal sensor data.
Record and replay binary messages in any format – like Protobuf, DDS (CDR), ROS, JSON, and more.
MCAP uses a row-oriented, append-only design to minimize disk I/O and reduce the risk of data corruption during unclean shutdowns.
MCAP stores message schemas alongside data, so your files remain readable in the future even as your codebase evolves.
MCAP files contain an optional index, allowing for fast, efficient reading, even over a low-bandwidth internet connection.
Choose between LZ4 or Zstandard for chunk-based compression, while still supporting efficient indexed reads.
Broad language support
Native reader and writer libraries are available in C++, Go, Python, Rust, Swift, and TypeScript.
Configure optional features like chunking, indexing, CRC checksums, and compression to make the right tradeoffs for your application.
MCAP is used in production by a wide range of companies, from autonomous vehicles to drones, and is the default log format in ROS 2.