Open source software

Open source software has played a huge role in helping us develop Foxglove Studio, and we're committed to contributing our own software back to the community.

In building Foxglove Studio, we relied heavily on others' open source contributions. That's why we're committed to keeping Studio open source and contributing our own software back to the community.

In addition to Studio, we've published several npm packages to facilitate common development tasks – like serializing and deserializing data, parsing message definitions, and exposing helper methods for data manipulation. While these packages were originally developed for Studio, they can be included in any TypeScript or JavaScript project.

Check out our npm and GitHub pages for more details on all our published packages.

Foxglove Studio

Open source desktop and web app for robotics data visualization and debugging

ROS (Robot Operating System)


TypeScript implementation of ROS 1 protocol with a pluggable transport layer


ROS 2 bag reader and writer abstract implementation


ROS 2 bag reader and writer for Node.js


ROS 2 bag reader and writer for the browser


ROS 1 and 2 message definition parser


Common ROS message definitions using @foxglove/rosmsg


Foxglove ROS message definitions using @foxglove/rosmsg


ROS 2 message serialization for reading and writing bags and network messages


Primitives and helper methods for ROS Time and Duration



Common Data Representation (CDR) serialization and deserialization


Networking sockets for Electron apps


Isomorphic ponyfill wrapping fetch and node-fetch


TypeScript library for converting Velodyne LIDAR packets to point cloud


Bzip2 decompression compiled to WebAssembly


TypeScript library implementing an XMLRPC client and server with pluggable server backend



ESLint configuration used in Foxglove Studio


CLI tool for managing Foxglove Studio extensions


Type definitions for writing Foxglove Studio extensions


Core components for Foxglove Studio