Skip to content
Run here 100% in your browser, no upload, no login

Git Diff Viewer

Paste a unified diff and read it per file: hunk stats, colored lines, unified or side by side.

Totals

Files

Lines that match no known diff pattern are kept as plain text instead of being dropped, so nothing you paste disappears silently.

How to use it

  1. Paste the output of git diff, git show or git format-patch into the input panel.
  2. Pick Unified for one column of colored lines, or Side by side to pair removals with additions on the same row.
  3. Read the Totals card for the number of files and the total added and removed counts; each file card repeats its own counts.
  4. Line numbers follow the @@ header, so an added line shows its new-file number and a removed line shows its old-file number.
  5. Press Copy next to Totals to copy the summary line, or Sample to load a small two-file diff.

Common use cases

Why it stays private

The text is parsed with string handling in this tab. Unreleased code, internal paths and customer data inside a patch are never uploaded, so you can paste a diff straight out of a private repository.

FAQ

Q: What happens to lines the parser does not understand? A: They are not dropped. Lines that match no hunk pattern are collected per file and rendered as plain text below the hunks, so everything you pasted stays visible.

Q: Why does a hunk show no line numbers? A: The numbers are taken from the @@ -a,b +c,d @@ header. If a header is malformed or missing, the parser starts at 1 and keeps counting from there.

Q: Does it apply the patch to anything? A: No. This is a read-only viewer. It renders the diff you pasted and never writes to a repository, a file or a remote.

Your data stays on this device

Git Diff Viewer runs 100% locally. Everything you paste or drop is processed by your own browser and never transmitted. Nothing is stored on our servers — close the tab and it is gone.

Nothing you type is sent to a server, logged, or used for analytics. The page works even with your network disconnected after first load.