How can I diff two branches in GitHub?

Use the compare feature to accomplish this.

To compare different versions of your repository, append /compare to your repository's path.


If you are on any branch other than the default branch (often 'master') you should see a link to compare:

Compare 1

Click it and you should get redirected to the compare-tool where you can select branches or commits to compare

Compare 2

UPDATE December 2021

GitHub seems to have hidden this option, and it is now behind the "Contribute" drop-down:

Screenshot of the "contribute" dropdown Screenshot after you click the "contribute" dropdown, showing the Compare button


Expanding on @Ari M's answer. URL format is as follows:

https://<REPO URL>/compare/<SOURCE BRANCH OR COMMIT>...<TARGET BRANCH OR COMMIT>

Note the difference between .. and ... (2 and 3 dots).

2 dots: show all commits that TARGET has but SOURCE doesn't and commits that SOURCE has but TARGET doesn't.

3 dots: show all commits that TARGET has but SOURCE doesn't. You usually want this.

E.g. to see what was added in the gh-pages branch compared to master in linguist repo:

https://github.com/octocat/linguist/compare/master...gh-pages


There is also another way to achieve this on GitHub, Just try to create a new Pull Request with the branches you would like to compare.

For example

branch-1 <- branch-2 or branch-2 <- branch-1

On the bottom, you can see the file and commit difference between those branches. Just don't Create the Pull request if you don't want to merge these two.