Diff Tools

difftastic – structural diff tool that compares files based on their syntax

difftastic is a structural diff tool that understands syntax. It uses tree-sitter to build a parse tree. The parse tree is then converted to a simpler tree which can be diffed.

It supports over 30 programming languages. It guesses the language used based on the file extension, file name, and the contents of the first lines.

This is free and open source software.

Key Features

  • Syntactic Diffing – detects the language, parses the code, and then compares the syntax trees.
  • Fallback Textual Diffing – if input files are not in a format that difftastic understands, it uses a conventional line-oriented text diff with word highlighting.
  • Range of configuration CLI options.
  • Treats diff calculations as a route finding problem on a directed acyclic graph.
  • Besides supporting over 30 programming languages, it supports structured text formats: CSS, HCL, HTML, JSON, Newick, TOML, and YAML.

Website: github.com/Wilfred/difftastic
Support: Manual
Developer: Wilfred Hughes
License: MIT License

difftastic in action
difftastic in action

difftastic is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

Terminal-Based Diff Tools
difftasticStructural diff tool that compares files based on their syntax
diff-so-fancyAttractive diffs with diff-highlight and more
deltaViewer for git and diff output
icdiffAn improved colored diff
diffoscopeIn-depth comparison of files, archives, and directories
colordiffWrapper for diff with pretty syntax highlighting
diffsitterSemantic diff tool
objdiffLocal diffing tool for decompilation project
ydiffTool to view colored, incremental diff in a version controlled workspace
diffrWord-by-word diff highlighting utility
dyffdiff tool for YAML files
WdiffWordwise implementation of diff
dwdiffdiff program that operates at the word level
oyoStep-through diff viewer
diffymlCompares YAML documents by their structure
diff2html-cliGenerate HTML diffs
biodiffTerminal-based binary diff viewer
dirdiffCompute the differences between two directories
csvdiffFast diff tool for comparing CSV files
VBinDiffVisual binary diff
riffWrapper around diff
csv-diffDiffing CSV and JSON files
xmldiffCompare XML documents
vblTerminal-based hexadecimal viewer
PatdiffFile diff using the Patience Diff algorithm
dead-ringerBinary diff utility
sesdiffGenerates a shortest edit script
semdiffSemantic diff tool written in Rust

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted