PlotJuggler 4: The Rewrite, Explained
PlotJuggler 4 is not a routine version bump. Version 4.0.0, released on 21 September 2026, is a rewrite that turns the best-known open-source time-series plotter into what its documentation calls an extensible, performant, open-source multimodal visualisation platform: time-series and XY plots, yes — but now also time-synchronised video, 3D point clouds and robot models, new file formats such as MCAP and Parquet, Python scripting alongside Lua, and an Extensions Marketplace for plugins. This hub is an independent, unofficial guide to that release — downloads themselves come from the official GitHub releases linked on our Download page.
If you already use PlotJuggler 3, this page also tells you the other half of the story: the PJ3 line is still alive at 3.17.2, it is still the line the ROS ecosystem runs on, and for many ROS users staying on PJ3 for now is the correct decision. The guides below walk through what is new, how the two lines compare, and how to migrate when the time is right.
How PlotJuggler 4 arrived: the release timeline
PJ4 did not appear overnight. It was developed in the open through a 3.999.x preview series during the summer of 2026, before the stable 4.0.0 release in September:
| Version | Date | What it was |
|---|---|---|
| 3.999.0 | 2 July 2026 | First public PlotJuggler 4 preview build (AppImage only). |
| 3.999.3 | 20 July 2026 | Preview for Windows and Linux: transactional undo/redo, layout schema v4, the Extensions Marketplace and 3D scene fixes. |
| 3.999.9 | 10 August 2026 | Preview: Mosaico cloud download, CSV / Arrow-Parquet export tool, Python scripting as an alternative to Lua, reading of corrupted MCAP files, and OMG IDL / DDS parsing. |
| 4.0.0 | 21 September 2026 | First stable PlotJuggler 4 release, flagged “Latest” on GitHub: Windows installer, x86_64 AppImage and a .deb package. |
That timeline matters when you read older coverage: anything written about “PlotJuggler 4” before September 2026 was describing a preview, and searches for the version before then were users hunting an announced rewrite. Since 21 September 2026, the correct answer is simple — 4.0.0 is out, and it is the current version for new, non-ROS installs. Our What’s New in PlotJuggler 4.0 guide covers the release in depth.
The PlotJuggler 4 guides
- What’s New in PlotJuggler 4.0 — the full tour: multimodal video and 3D, Python scripting, MCAP / Parquet / LeRobot support, the Marketplace, Mosaico, layout schema v4 and the new apt repository.
- PlotJuggler 3 vs PlotJuggler 4: Should You Upgrade? — an honest, side-by-side comparison with a verdict for each type of user, including the macOS reality for both lines.
- Migrating from PlotJuggler 3 to PlotJuggler 4 — what carries over, what changes: layout schema v4, the plugin ecosystem and Marketplace, and running both lines side by side.
- PlotJuggler 4 Python Scripting — Python custom transforms alongside Lua for derived series, and how to choose between the two.
- PlotJuggler 4 Video and 3D Visualisation — time-synced cameras, WebRTC, point clouds, meshes, URDF robot models, occupancy and elevation grids.
- PlotJuggler Extensions Marketplace — how plugin installation works in PJ4: loaders, streamers, parsers and toolboxes from the built-in registry, plus the plugin SDK.
- Download PlotJuggler — official GitHub files for PJ4 4.0.0 and PJ3 3.17.2, with the SHA-256 checksums published by GitHub.
Who should upgrade — and who should stay on PlotJuggler 3
| Your situation | Recommendation | Why |
|---|---|---|
| New user, no ROS dependency | Start with PlotJuggler 4 | 4.0.0 is the current release and the line under active development; install it via the Install guides. |
| ROS 1 / ROS 2 user relying on rosbag, topic or ROS plugin workflows | Stay on PlotJuggler 3 (3.17.2) for now | The ROS Index still lists the core package at 3.17.2 and the ROS packages are built on the PJ3 line; the ROS ecosystem has not moved to PJ4. |
| You need video, 3D, MCAP, Parquet or Python transforms | Move to PlotJuggler 4 | Those capabilities exist only in PJ4 — PJ3 has no video or 3D views and scripts transforms in Lua only. |
| macOS user | Read the honest position first | Neither line currently ships a macOS binary: PJ4 4.0.0 has no .dmg, and the last PJ3 release with one was 3.16.0. See the macOS guide. |
| Curious, but your PJ3 setup works | Install PJ4 alongside PJ3 and evaluate | The lines use different package names — the PJ4 apt package is plotjuggler4 — so you can trial PJ4 without uninstalling PJ3. See the migration guide. |
What PlotJuggler 4 is, in one paragraph
PlotJuggler 4 keeps everything the classic tool was known for — drag signals into time-series and XY plots, load several recordings, align their timelines and overlay them, apply filters, derivatives, integrals and FFT, and save layouts — and extends it in every direction at once. Recorded or live data: files now include MCAP, Parquet and LeRobot alongside CSV and PX4 ULog, and live sources include ROS 2, MQTT, ZeroMQ, UDP, WebSocket and WebRTC. Cameras and sensors join the plots: encoded video in H.264, H.265 and AV1, 2D annotations, and GPU-rendered 3D scenes with point clouds, meshes and URDF models. And the plugin system grows a proper distribution channel, the Extensions Marketplace, backed by a public registry and a plugin SDK (plotjuggler_sdk). PlotJuggler remains free and open source under the Mozilla Public License 2.0 (MPL-2.0), maintained by Davide Faconti.
Getting PlotJuggler 4
PJ4 ships as a Windows installer (per-user, no administrator rights needed), a Linux AppImage (glibc 2.35 or newer), a single-release .deb — and, new in this generation, an official apt repository at apt.plotjuggler.io that keeps Debian and Ubuntu installs updated through normal system upgrades. There is no macOS binary, no aarch64 AppImage and no snap or flatpak for PJ4. Step-by-step instructions for every channel are in the Install hub, and the files themselves — with checksums — are on the Download page.
This site is independently operated and is not affiliated with Davide Faconti or the PlotJuggler project. The official project site is plotjuggler.io.
