Language Aware Diff
For VS Code & GitHub

Hide irrelevant changes, detect moved code, and highlight refactorings in your diffs. Supports Python, Rust, Java, C#, TypeScript and more.

Move code in SemanticDiff Move code in SemanticDiff - highlighted Style changes are hidden in SemanticDiff Style changes are hidden in SemanticDiff - highlighted SemanticDiff highlights refactorings SemanticDiff highlights refactorings - example 1 SemanticDiff highlights refactorings - example 2 Move code in SemanticDiff

Supports 12+ programming languages and data exchange formats:

Online Demo

Try It Now!

You can try a subset of SemanticDiff’s features directly in your browser.
Go ahead and select one of the examples or enter your own code.

What is SemanticDiff?

Language Aware Diff For VS Code & GitHub

SemanticDiff is a programming language aware diff that distinguishes between relevant and irrelevant changes. Irrelevant changes such as added/removed whitespace, optional commas or unnecessary parentheses are hidden to help you focus on the actual changes. Relevant changes are further analyzed to highlight moved code, renames or other refactorings. This helps you understand code changes faster, especially when working with reformatted or refactored code.

Hides Style Changes
Style changes are hidden in SemanticDiff
Hides Style Changes

Why spend time on reviewing the output of your code formatter? Let the CI validate the code style, while you concentrate on the logic changes.

  • Spot changes within reformated code
  • Skip manual review of style changes
  • Focus on changes to the program logic

Not convinced? Compare GitHub with SemanticDiff.

Detects Moved Code
SemanticDiff detects how code was moved
Detects Moved Code

When moving a lot of code, it is easy to overlook that print statement you added while debugging. It is buried in a huge hunk of red and green lines. Wouldn’t it be great if your diff tool would highlight such modifications?

  • See how code was moved within files
  • Spot changes within moved code

See it live in action.

Understands Refactorings
SemanticDiff highlights refactorings
Understands Refactorings

Refactorings are often simple but can affect many lines of code. Checking all the individual changes is often too tedious so that other unintended changes get overlooked. SemanticDiff assists you by automatically separating refactorings from other code changes.

  • See which changes belong to the same refactoring
  • Selectively hide certain or all refactorings (coming soon)
  • Divide and conquer your diff

Subscribe for Developer Updates

Get updates on our SemanticDiff VS Code Extension and GitHub App, and be the first to know about new devlogs, tutorials, and blog posts.

Something went wrong

Thank You For Your Interest

To complete your registration, click on the link in the email we sent you. If you are already registered, no email will be sent.

Want To Know More? Get In Touch!

Do not hesitate to contact us if you have any questions or feedback.
We look forward to hearing from you.