Two-column web-based git difftool
Clone or download
daytonb Feature for /issues/102 Keep file name visible.
Shows the file names above each column of the code diffs even when you scroll
down a long diff.
Latest commit c443e95 Jun 25, 2018

Build Status git webdiff

Two-column web-based git difftool.

Features include:

  • Side-by-side (two column) diff view
  • Runs in the browser of your choice on any platform.
  • Syntax highlighting via highlight.js
  • Step back and forth through multiple files in a single diff
  • Rich support for image diffs

Screenshot of webdiff in action

Screenshot of image diffs


pip install webdiff


Instead of running "git diff", run:

git webdiff

You can also start webdiff via:

git webdiff [args]

You can pass all the same arguments that you would to git diff, e.g. 1234..5678 or HEAD.

webdiff can also be invoked directly to diff two directories or files:

webdiff <left_dir> <right_dir>
webdiff <left_file> <right_file>

You can also use webdiff to view GitHub pull requests:

webdiff #123  # if you're in a git repo with a github remote

This will download the files relevant to the Pull Request and run webdiff.

If you run into GitHub API quota limits or you'd like to use webdiff with private repos, you can set your credentials in a .githubrc file:

user.login: yourusername
user.token: your-personal-access-tokens

Make sure you chmod this file to only be readable by yourself. You can generate a personal access token for webdiff via → profile → Settings → Personal access tokens. Make sure to grant all the "repo" privileges.


(from an activated virtualenv)

pip install -r requirements.txt
bower install
./webdiff/ testdata/dygraphsjs/{left,right}

or to launch in debug mode:

./ $(pwd)/../testdata/webdiffdiff/{left,right}

(or any other directory in testdata)

To run the Python tests:


To run the JavaScript tests:

python -m SimpleHTTPServer
open tests/runner.html

To iterate on the PyPI package, run:

# from outside the webdiff virtualenv:
pip uninstall webdiff

# from inside the webdiff virtualenv, adjust for current version
python sdist
mkdir /tmp/webdiff-test
cp dist/webdiff-X.Y.Z.tar.gz /tmp/webdiff-test

cd /tmp/webdiff-test
pip install webdiff-X.Y.Z.tar.gz