difftastic

a structural diff tool that understands syntax

Focus On What Changed

screenshot

Difftastic parses your code with tree-sitter. Unlike a line-oriented text diff, difftastic understands that the inner expression hasn't changed here.

Ignore Formatting Changes

screenshot

Has your code formatter decided to split something over multiple lines? Difftastic can show what has actually changed.

Understand Wrapping Changes

screenshot

Have you added a wrapper? Difftastic can match the delimiters exactly.

screenshot

If you change the inner content, difftastic can still show you the additional wrapper.

Real Line Numbers

screenshot

Do you know how to read @@ -5,6 +5,7 @@ syntax? Difftastic shows the line numbers from your files, both before and after.

Programming Languages

C++

C#

Clojure

Common Lisp

Dart

Erlang

Go

Haskell

Java

JavaScript

Kotlin

Lua

OCaml

PHP

Python

R

Ruby

Rust

Scala

TypeScript

And more! See the full list of supported languages in the manual.

File Formats

HCL

HTML

JSON

YAML

See the full list of supported file formats in the manual.

Works With Git

screenshot

See the git configuration instructions in the manual.

Fully Open Source

Difftastic is MIT licensed. Download it, modify it, share it with your friends!

Made with <3 by Wilfred Hughes.