diffoscope will try to get to the bottom of what makes files or
directories different. It will recursively unpack archives of many
kinds and transform various binary formats into more human readable
form to compare them.

Optional Dependencies

argcomplete  (for argument completion)
colord       (for comparing images)
colordiff    (for comparing images)
fontforge    (for comparing font files)
fpc          (for Pascal support)
ghc          (for Haskell support)
graphviz     (for comparing images)
jdk          (for Java support)
mono         (for Mono support)
pdftk        (for comparing pdf documents)
sng          (for comparing images)
tlsh         (for fuzzy matching -- must build tlsh with 'PYTHON3=yes')
