Skip to content
Java implementation of the bsdiff algorithm
Branch: master
Clone or download
malensek Merge pull request #14 from Brutus5000/master
Update apache commons version to 1.19 + minor cleanup
Latest commit 5df6d1a Sep 12, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/main Minor cleanup Sep 10, 2019
.gitignore Add IDE files to gitignore Jan 14, 2016
LICENSE.txt Update license Feb 11, 2016 Update Feb 11, 2016
pom.xml Push apache commons version to 1.19 Sep 10, 2019


A Java implementation of bsdiff (


jbsdiff can be used from its command line interface:

java -jar jbsdiff.jar command oldfile newfile patchfile

Where command is either 'diff' or 'patch.' You can also specify the compression algorithm used during a diff operation by setting a system property:

java -Djbsdiff.compressor=gz -jar jbsdiff.jar diff a.bin b.bin patch.gz

Supported compression algorithms (from the Apache Commons Compress library) are bzip2 (the default), gz, pack200, and xz.

...but jbsdiff is mostly intended to be used as a library. See the ui package for usage examples.


To build a local fat jar, run:

mvn clean package

Dependency Information

Available on Maven Central:


Also available at

Clojars Project

You can’t perform that action at this time.