Off-the-Record messaging library for Java
Switch branches/tags
Clone or download
Pull request Compare This branch is 151 commits ahead, 3 commits behind redsolution:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Adds protocol specs. Feb 5, 2014
src Change license to Apache according to Atlassian CLA Jun 1, 2016
.gitignore Ignore *.iml files. Jun 18, 2015
LICENSE Update LICENSE Jun 18, 2015
README.markdown Update link to CLA Jun 1, 2016
THANKS.markdown Fixes typo. Jun 18, 2015
TODO.txt Updates JavaDoc in preparation for Maven central release. Feb 22, 2015



otr4j is an implementation of the OTR (Off The Record) protocol in java. Its development started during the GSoC '09 where the goal was to add support for OTR in jitsi. It currently supports OTRv1, OTRv2 and OTRv3. Additionally, there is support for fragmenting outgoing messages.

For a quick introduction on how to use the library have a look at the DummyClient.


If you use maven for managing your project lifecycle and you want to use otr4j in your project, just add the following dependency to your the pom.xml:

IMPORTANT otr4j has moved to Maven Central! I will be making releases to the old repository for the foreseeable future, but it is highly recommended to update your settings!



Want to hack on otr4j? Awesome! Here are the guidelines we'd like you to follow:

  • All contributors submit code via pull requests. NOTE that before we can accept any patches from you, we need you to sign our contributor agreement available here.
  • New commits must be pushed by the reviewer of the pull request, not the author.
  • Any developer can request push access and become a committer, regardless of project or organization affiliation.
  • We choose committers primarily on the Hippocratic Principle. You can find out more about the exact procedure here.