Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
Dec 4, 2013


An awesome code differencing tool.


Build and Test GumTree


GumTree is a syntax-aware diff tool. It improves text-based diff tools in two important ways:

  • the edit actions are always aligned with the syntax,
  • it can detect moved or renamed elements in addition of deleted and inserted code.


To use GumTree, you can start by consulting the Getting Started page from our wiki. If you have a question to ask, please use GitHub's discussions instead of opening an issue.


The directory diff viewer

Directory comparator view

The file diff viewer

Diff view on a CSS file

Diff view on a Java file

Supported languages

We already deal with a wide range of languages: C, Java, JavaScript, Python, R, Ruby. Click here for more details about the language we support.

More languages are coming soon, if you want to help contact me.

Citing GumTree

We are researchers, therefore if you use GumTree in an academic work we would be really glad if you cite our seminal paper using the following bibtex:

  author    = {Jean{-}R{\'{e}}my Falleri and
               Flor{\'{e}}al Morandat and
               Xavier Blanc and
               Matias Martinez and
               Martin Monperrus},
  title     = {Fine-grained and accurate source code differencing},
  booktitle = {{ACM/IEEE} International Conference on Automated Software Engineering,
               {ASE} '14, Vasteras, Sweden - September 15 - 19, 2014},
  pages     = {313--324},
  year      = {2014},
  url       = {},
  doi       = {10.1145/2642937.2642982}