Robotics · October 2026

Behaviour Tree Visualizer

See and check BehaviorTree.CPP XML in your browser, no Groot install needed.

Contact the team
Behaviour Tree Visualizer
The Behaviour Tree Visualizer running in the browser.

About

About Behaviour Tree Visualizer

Behaviour trees have become the standard way to structure robot decision making in ROS 2: Nav2 uses them for navigation, and BehaviorTree.CPP powers trees on robots of every kind. Their XML is easy for machines and hard for people. The Behaviour Tree Visualizer turns that XML into a picture and checks it for the mistakes that stop it from loading.

What it does

  • Draws BehaviorTree.CPP 3 and 4 XML, including Groot files and Nav2 trees, left to right or top down.
  • Colours nodes by type: controls, decorators, actions, conditions and subtrees.
  • Checks the structure: one root node per tree, existing subtrees, no subtree loops, exactly one child per decorator, no children on leaves, and the child counts of nodes such as IfThenElse and Switch.
  • Knows every built-in node of BehaviorTree.CPP 4.10 and the Nav2 nodes in ROS 2 Jazzy, and flags version 3 names.
  • Exports the drawing as SVG.

How it is checked

We load the same sample files with BehaviorTree.CPP 4.10 itself and compare: trees the visualizer calls valid load, and the deliberately broken sample is rejected for the same reason the visualizer reports first.

Running trees for real

The visualizer reads trees. To design trees together and run them on a fleet of robots, XPARO's fleet dashboard includes a collaborative behaviour tree editor and engine.

Open the Behaviour Tree Visualizer. The guides below introduce behaviour trees, explain the XML format, compare trees with state machines, collect proven design patterns, and walk through Nav2's own tree.

0Robots
0Online now
1Team members
0%Progress

Team

The people behind Behaviour Tree Visualizer

The team that builds, runs and answers for this project on XPARO.

pankaj

Owner

Robotics Engineer specializing in ROS2, autonomous navigation, and full-stack robotic system development. Proven experience in building real-world robots with…

FAQ

Questions, answered

Which XML formats are supported?

BehaviorTree.CPP version 3 and 4 XML, including files saved by Groot and Groot2 and the trees used by Nav2.

Can I edit trees here?

The visualizer is for reading and checking trees. To design and run trees on real robots with your team, use the behaviour tree editor in the XPARO fleet dashboard.

Is my XML uploaded?

No. Parsing and drawing happen in your browser.

Contact

Get in touch

Questions, ideas, or want to work with the team? Your message goes straight to the Behaviour Tree Visualizer team on XPARO. Add your email if you'd like a reply.

How would you rate the project? (optional)