Gnarley trees is a project focused on visualization of various tree data structures. This web site contains visualizations of

  • various balanced trees such as AVL tree, red-black tree, B-tree, splay tree, treap, skip list, or scapegoat tree,
  • priority queues such as binary heap, leftist heap, skew heap, binomial heap, Fibonacci heap, or pairing heap,
  • union find with various heuristics (union by rank, path compression, path halving, path splitting),
  • and string data structures such as trie or suffix tree.

We believe that these visualizations can be used very efficiently as lecture aids. We also hope they will be useful for students for self-study, or simply for exploring various concepts and satisfying curiosity.

You can use these visualizations either online on this site or download a standalone application. (The jar file can be run using the command java -jar gt.jar)


To run the jar file and the applets on this page, you need the Java Runtime Environment.


This project is open source. You can contribute via github (send a pull request / create an issue).


Gnarley trees are currently available in English and in Slovak. If you would like to contribute a translation into another language, simply download this file, translate it, and create a pull request.


  • Jakub (kuko) Kováč
  • Katka Kotrlová
  • Pavol (paly) Lukča
  • Viktor (friker) Tomkovič
  • Tatiana Tóthová


Gnarley trees are an open source, free software, and are freely available under the GNU General Public License, version 3. The source code is maintained here.