The UnboundID LDAP SDK for Java is a fast, powerful, user-friendly, and completely free Java library for communicating with LDAP directory servers. It offers better performance, better ease of use, and more features than other Java-based LDAP APIs. It is actively being developed and enhanced, and commercial support is available.

The UnboundID LDAP SDK for Java is free to use and redistribute in open source or proprietary applications under the terms of any of the open source GPLv2 or LGPLv2.1 licenses, or the UnboundID Free Use License. It does not have any third-party dependencies, so a single jar file is all you need to add top-notch LDAP support to your Java application. It can also be used in conjunction with most other JVM-based languages, as well as on the Android mobile platform.

The full documentation for the LDAP SDK is available online at


Versions of the UnboundID LDAP SDK

There are three versions of the UnboundID LDAP SDK for Java:

  • The Standard Edition is a completely open source, full-featured API designed to work with any LDAPv3-compliant directory server. It provides a wide range of functionality, including support for a number of protocol extensions like controls, extended operations, and SASL mechanisms, and support for related processing like reading and writing LDIF, encoding and decoding base32 and base64, and encoding and decoding ASN.1 BER. It features powerful connection pooling, load balancing, and failover capabilities, a persistence framework that allows you to interact with LDAP entries as Java objects, a simplified framework for establishing secure connections, tools to help you test your LDAP-based applications, and much more. Most server-agnostic LDAP-enabled applications will want to use the Standard Edition of the LDAP SDK. Download the Standard Edition of the UnboundID LDAP SDK for Java.
  • The Minimal Edition is a stripped-down version of the Standard Edition. It includes full support for the core LDAP protocol, but excludes many of the optional features in the Standard Edition. The Minimal Edition is primarily intended for applications that need to run in memory-constrained and space-constrained environments in which a smaller library size is preferred over more bells and whistles. Download the Minimal Edition of the UnboundID LDAP SDK for Java.
  • The Commercial Edition includes everything that is in the Standard Edition, plus a lot of additional support for the UnboundID Directory Server, UnboundID Directory Proxy Server, and other UnboundID server products. Commercial Edition features include support for a number of UnboundID-specific controls, extended operations, and SASL mechanisms, as well as frameworks for interacting with server log messages, monitor entries, alert and alarm entries, and administrative tasks. As of the 3.0.0 release, the Commercial Edition of the LDAP SDK is available under the same open source licenses as the Standard Edition and the Minimal Edition.


Advantages of the UnboundID LDAP SDK

Some of the key advantages of the UnboundID LDAP SDK for Java include:

  • Full support for the LDAPv3 protocol as of the most recent specification update, including all operation types, intermediate response messages, the increment modification extension, and absolute true/false filters.
  • Built-in support for a wide range of official and de facto standard protocol extensions, including controls, extended operations, and SASL mechanisms. The LDAP SDK also includes APIs for developing support for any custom protocol extensions that you may need but aren't included as part of the LDAP SDK.
  • A very convenient and user-friendly API that reduces the amount of code you need to write in order to perform the desired operations.
  • A number of security-related features to help simplify secure communication and ensure that all interaction with LDAP servers and data remains safe and available to only properly-authorized users.
  • Powerful and flexible connection pooling, load balancing, and failover support to help ensure that your application keeps working flawlessly even if one or more of the directory servers becomes unavailable.
  • A simple yet powerful persistence framework that allows you to interact with LDAP entries as if they were Java objects. The persistence framework works with your existing schema and directory data without any changes so that it remains compatible with other applications that may need to access it.
  • Enhanced support for a number of special entry types, including the root DSE, subschema subentries, and changelog entries.
  • Support for a number of related APIs, including reading and writing LDIF entries and change records (including parallelized encoding and decoding for maximum performance), base64 encoding and decoding, and ASN.1 BER encoding and decoding. There are also APIs to simplify the creation of LDAP-enabled command-line tools.
  • Support for simplifying LDAP-based testing. The LDAP SDK includes an in-memory directory server is available to allow you easily create one or more simple LDAPv3-compliant servers to use in your testing frameworks. It also provides a set of utility methods for making assertions about the content stored in an LDAP directory server.
  • The LDAP SDK is provided as a single self-contained jar file with no dependencies on anything outside of Java SE.
  • Commercial Support is available from UnboundID.


How to Get the UnboundID LDAP SDK

All three editions of the UnboundID LDAP SDK for Java are readily available via the following links:

Source code and release versions of the UnboundID LDAP SDK for Java are also available via GitHub at, or via SourceForge at  If you prefer to use the Maven tool to manage your library dependencies, then you can get the UnboundID LDAP SDK for Java through the Maven Central Repository with a GroupId of "com.unboundid" and an ArtifactId of "unboundid-ldapsdk" (for the Standard Edition), "unboundid-ldapsdk-commercial-edition" (for the Commercial Edition), or "unboundid-ldapsdk-minimal-edition" (for the Minimal Edition).

If you want to check out and build the LDAP SDK from source, then you can check it out via git with the command:

git clone

or via subversion with the command:

svn checkout ldapsdk-svn

Once the code has been checked out, you can build the LDAP SDK by running the shell script on UNIX-based systems or build.bat batch file on Windows.  Once the build has completed, the zip files for all three editions may be found in the build/package directory.