actively maintained tree-sitter AST diff CLI; choose it as a drop-in peer when you prefer its rendering and simpler output.
A tree-sitter based AST difftool to get meaningful semantic diffs
- 2.4k
- Rust
- MIT
syntax-aware code diffing
Difftastic is a command-line structural diff tool that uses tree-sitter parsing to compare code by syntax rather than by line.
Same problem, same approach. Swapping one for another is a config change, not a rewrite.
actively maintained tree-sitter AST diff CLI; choose it as a drop-in peer when you prefer its rendering and simpler output.
A tree-sitter based AST difftool to get meaningful semantic diffs
Solves the same problem with a different architecture or at a different layer. Expect to rewrite the integration.
line-oriented terminal side-by-side diff viewer; use it when you want syntax-highlighted git diffs without AST-level structural analysis.
Syntax highlighted side-by-side diffs in your terminal
syntax-highlighting pager for line-based git/diff output; choose it when you want a mature pager rather than a structural tree diff.
A syntax-highlighting pager for git, diff, grep, rg --json, and blame output
entity-level semantic diff with git blame and impact analysis; choose it when you need function/class granularity across git history.
Semantic version control => entity-level diffs, blame, and impact analysis on top of git. 28 languages via tree-sitter. Built for coding agents.
Does the same job, but ships as an app. Useful to a person, not swappable into a codebase.
browser-based GitHub-style commit diff viewer; use it when you want to inspect diffs in a web UI instead of a terminal.
A lightweight command-line tool that spins up a local web server to display Git commit diffs in a GitHub-like Files changed view
Neovim plugin providing VSCode-style diff/merge; use it when you want in-editor GUI diffing instead of a standalone CLI.
VSCode-style diff, merge and git history for Neovim. Side-by-side or inline, with character-level highlighting from VSCode's own diff algorithm in C.
online/embedded merge and diff GUI; choose it when browser-based document diffing is more important than structural code diffing.
Merge and diff documents online
Windows GUI folder/file diff and merge tool; choose it when you need a desktop GUI for merging rather than terminal syntax-aware diffing.
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.
These projects were analysed and named difftastic among their alternatives. The relationship is not symmetric — how difftastic rates them is a separate judgement, made when difftastic is analysed in its own right.
calls difftastic “Use when you want structural, AST-aware diffs rather than traditional line-based diff highlighting.”
A syntax-highlighting pager for git, diff, grep, rg --json, and blame output
calls difftastic “Choose it when you want syntax-tree-aware structural diffs rather than line-level cosmetic formatting.”
Make your diffs human readable for improved code quality and faster defect detection. :tada:
calls difftastic “Choose if you want syntax-aware structural diffs that understand code across many languages.”
Review-first terminal diff viewer for agentic coders
calls difftastic “Choose for a terminal-based, syntax-aware structural diff that understands code, when you don't need a GUI or interactive merging.”
WinMerge is an Open Source differencing and merging tool for Windows. WinMerge can compare both folders and files, presenting differences in a visual text format that is easy to understand and handle.