Online Code Diff Tool

Compare two code snippets side by side, see every added and removed line, and let AI explain what changed and why.

Want to master diffs for real?

Our Git Mastery course covers git diff, branching, merging, and professional workflows.

examples:
11 lines
3 lines
+1-92 unchanged
11 function getUserName(user) {
2- if (user !== null) {
3- if (user.name !== undefined) {
4- return user.name;
5- } else {
6- return 'Anonymous';
7- }
8- } else {
9- return 'Anonymous';
10- }
2+ return user?.name ?? 'Anonymous';
113 }
Free plan

to get AI explanations of code diffs. Included in the Free plan.

How to read diffs
+
Added line
New line that exists only in the modified version
-
Removed line
Line that was deleted from the original
Unchanged
Line that is the same in both versions (context)

About this tool

Code Diff

A code diff tool compares two pieces of text or code and shows you exactly what changed: which lines were added, removed, or modified. Paste an original version on one side and the updated version on the other to get an instant, readable line-by-line comparison.

Beyond highlighting the changes, this tool can explain a diff in plain English with AI, which is handy for reviewing pull requests, understanding someone else's edit, or writing a clear commit message. It works entirely in your browser and is free on the HACKUP Free plan.

Frequently asked questions

Code Diff FAQ

What does a code diff tool do?
It compares two versions of text or code side by side and highlights every difference, showing added, removed, and changed lines so you can see exactly what changed.
Can I diff any kind of text?
Yes. While it is built for source code, you can compare any plain text, logs, configuration files, or JSON, and the line-by-line comparison works the same way.
Does it explain the changes?
Yes. The AI explainer can summarize a diff in plain English, which is useful for code reviews and for understanding unfamiliar changes.
Is my code uploaded anywhere?
The diff itself is computed in your browser. AI explanations are optional and only sent when you explicitly request them.