Best ROS 2 Data Visualization Tools in 2026

Short answer: For most ROS 2 engineers, the best data visualization tool in 2026 is PlotJuggler — free, open-source (MPL-2.0), built to open rosbag2 and MCAP recordings and plot them by drag-and-drop, with a new PlotJuggler 4 line that adds native MCAP, video, 3D and Python transforms. Teams that need a shared, hosted data platform should choose Foxglove (Free for 3 seats / 10 GB; Pro from $20/month). Developers who log from their own code should evaluate Rerun (MIT/Apache-2.0, SDK-first). rqt_plot remains the zero-install baseline that ships with ROS. Grafana is a fine general dashboard tool, but it is a monitoring surface, not a rosbag or log-file analyser — it answers a different question. The criteria table and pick-by-need guide below show the working. Part of our Alternatives & Comparisons hub.

The criteria table

ToolBest atInputsCost / licenceWatch out for
PlotJuggler (PJ4 4.0.0 + PJ3 3.17.2)Interactive analysis of recordings: bags, MCAP, flight logsROS 1/2 bags, MCAP (native in PJ4), CSV, ULog, Parquet; live ROS 2 topics, MQTT, WebSocket, ZMQ, UDPFree, MPL-2.0A desktop application — no hosted team workspace; ROS package ecosystem is on the PJ3 line
FoxgloveTeam data platform: shared, hosted recordingsMCAP, ROS 1, ROS 2 natively; Protobuf/JSON/FlatBuffers via WebSocketFree tier 3 seats / 10 GB; Pro from $20/mo + usage; academic freeA platform commitment — your data lives in their cloud model
RerunCode-first multimodal logging for systems you buildIts Python/Rust/C++ SDKs; ingests MCAP, .rrd, LeRobotOpen-source MIT/Apache-2.0; Rerun Hub is the commercial cloud layerYou must instrument your code — it does not start from recordings other tools produced
rqt_plot (+ rqt_bag, rqt_multiplot)Instant live-topic checks, anywhere ROS runsLive ROS topics; recordings via the sibling rqt_bagFree, ships with ROSA viewer, not an analysis environment: no layouts, transforms or alignment workflow
GrafanaGeneral-purpose dashboards and monitoringLive data sources and databases, via its dashboard ecosystemGeneral-purpose open-source dashboarding (see Grafana’s own pages for editions)Not a rosbag/log-file analysis tool; it monitors systems, it does not dissect recordings

How the five divide the work

PlotJuggler earns the top recommendation on the strength of fit: ROS 2 work produces recordings — rosbag2 folders, MCAP files, CSV exports from test rigs — and PlotJuggler is the tool designed around exactly those artefacts. The PJ3 line (3.17.2) is the one the ROS ecosystem packages today (ros-$ROS_DISTRO-plotjuggler-ros for humble, jazzy, kilted, lyrical and rolling, per the ROS Index), while PJ4 (4.0.0) is the ground-up rewrite: native MCAP including damaged-file attempts, several recordings loaded and aligned with per-dataset offsets, video and 3D views synced to the same timeline, and transforms in Python as well as Lua. Choosing between the lines is its own question — our PJ3 vs PJ4 comparison works through it — but for a new ROS 2 user the honest default is: install the ROS-packaged line for bag work, and evaluate PJ4 alongside it.

Foxglove is the pick when “the team” is the unit of analysis: shared storage, seats, devices, one hosted place where recordings are reviewed. Its native MCAP and ROS support is genuine, and its Free tier lets a small team test the model honestly. What you are buying is logistics, and the head-to-head comparison prices it in detail. Rerun is the pick when you are the author of the system being observed — its SDK-first design and permissive licensing suit product teams, and its multimodal viewer anticipated the direction PJ4 later took; the vs Rerun comparison draws that line precisely. rqt_plot needs no recommendation and no apology: it is already on your machine, and for live checks it is the fastest tool you own — the vs rqt_plot comparison explains why users nonetheless switch for analysis. Grafana belongs on this list because ROS teams genuinely use it — for fleet dashboards, health monitoring and live operational views. Framed generally and fairly: if the question is “is the system healthy right now?”, a dashboard is the right shape; if the question is “why did the robot do that at 14:02:31?”, you need a recording analyser, and that is not a dashboard’s job.

Pick by need

Your needPickFirst step
Analyse rosbag2 / MCAP recordings after a runPlotJugglerROS 2 install guide, then the bag & MCAP tutorial
Compare two runs fairly (before/after a change)PlotJuggler (PJ4 per-dataset offsets)Multiple-bag comparison tutorial
Give a whole team one hosted place for recordingsFoxgloveStart on the Free tier (3 seats / 10 GB) and measure whether it removes your bottleneck
Design logging into a system you are buildingRerunPrototype one logged session through its SDK before committing
Check a live topic right now, on any ROS machinerqt_plotIt is already installed — that is its superpower
Fleet health dashboards and monitoringGrafana (general dashboards)Keep it for monitoring; keep a recording analyser alongside for debugging
Analyse PX4 / ArduPilot flight logs specificallyPlotJugglerThe dedicated flight log roundup

A closing note on method: every price, licence and format claim in the table comes from the tool’s own published pages, and tools we could not verify claims for were described generally rather than specifically. If your shortlist survives this page, the deciding test is always the same — your largest real recording, your messiest real workflow, one afternoon. The hub links every deeper comparison.

Keep learning

Every tool on this list assumes ROS 2 fluency; if you are building yours, structured courses beat scattered tutorials: ROS courses on Coursera and ROS courses on Udemy

(affiliate links)

Similar Posts