Browse the tree
Expand any branch, filter it as you type and see how many children each container holds.
dc=example,dc=org └─ ou=people (128) └─ uid=alice
- Jump straight to any DN
- Bookmarks for each connection
- Multi-select and drag to move

LDAP Studio
Browse, search and edit any LDAP directory in a fast SwiftUI app built on OpenLDAP. No Java runtime, no Windows VM, no ldapsearch one-liners.
macOS 27 or later · Apple Silicon · free and open source (MIT)
LDAP Studio - Example Research Lab
| Attribute | Value |
|---|---|
| cn | Ada Lovelace |
| displayName | Ada Lovelace |
| givenName | Ada |
| jpegPhoto | AL |
| ada@example.org | |
| memberOf | cn=researchers,ou=groups,dc=example,dc=org |
| objectClass | inetOrgPerson |
| sn | Lovelace |
| title | Analyst |
| uid | ada |
| userPassword | {PBKDF2-SHA512}100000$… |
This window works. Expand the tree, pick an entry, search.
Why it exists
LDAPStudiostartedatCBPF,theBrazilianresearchcenterwhereitsauthorworks.TheonlyrealLDAPclientavailablewasLDAPAdmin:Windows-onlyandnotupdatedinyears,andeverylookupmeantbootingavirtualmachinejusttoopenit.SoitsauthorbuiltanativeoneformacOS.
Flip between before and after to see what editing a single entry used to take.
Editing one entry
SwiftUI windows, the macOS menu bar, a shortcut for every action and passwords kept in the Keychain.
Attribute names and object classes autocomplete from the server's own schema, with superior-class inheritance resolved.
Read-only mode per connection, passwords hashed before they leave your Mac, and a count of affected entries before any recursive delete.
Under the hood
No JVM, no Electron. Three layers, each one doing the job it is best at.
The interface
Windows, sheets, menus and shortcuts written in SwiftUI, with connection passwords stored in the macOS Keychain.
The C core
A small C library that runs every LDAP operation, parses the schema, resizes photos and hashes passwords.
The foundations
Proven libraries for the LDAP protocol, TLS, and the crypt(3) password formats.
Features
From a quick lookup to moving whole subtrees, without leaving the keyboard.
Expand any branch, filter it as you type and see how many children each container holds.
dc=example,dc=org └─ ou=people (128) └─ uid=alice
Write RFC 4515 filters by hand or build them visually, then pin the ones you use every day.
(&(objectClass=inetOrgPerson) (mail=*@example.org))
Add, edit and delete attributes, binary values included, with names suggested by the server's schema.
mail: alice@example.org + telephoneNumber: +55 21 5555-0100
userPassword is hashed on your Mac. The plaintext is never stored or sent as is.
userPassword:
{PBKDF2-SHA512}100000$Zk3q…$9xQe…Import and export LDIF files, or write and run LDIF in an editor with syntax highlighting.
dn: uid=alice,ou=people,dc=example,dc=org changetype: modify replace: title title: Directory admin
Browse object classes and attributes, with superior-class inheritance resolved for you.
inetOrgPerson → organizationalPerson → person → top
Save connections with SSL or StartTLS, trust certificates per server and keep passwords in the Keychain.
ldaps://ldap.example.org:636 bind: cn=admin,dc=example,dc=org
Set jpegPhoto from any image. It is resized and center-cropped to 300×300 for you.
photo.png 1920×1080 → jpegPhoto 300×300 JPEG
Check what the server supports, test credentials and follow every operation as it runs.
supportedLDAPVersion: 3 supportedControl: 1.2.840.113556.1.4.319
Try it
Two parts of the app, rebuilt for this page. Nothing you type leaves your browser.
Entries must match
(&(objectClass=inetOrgPerson)(mail=*example.org))Special characters are escaped for you. In the app, Advanced Search runs the filter and you can pin it for later.
Install
LDAP Studio ships as a zipped app on GitHub. No installer, no account.
Get the ldap-studio zip file of the latest version, published on GitHub Releases.
Unzip the file and drag ldap-studio.app into your Applications folder.
The app is not signed with a paid Apple Developer account, so macOS blocks the first launch. Open System Settings → Privacy & Security, scroll down and click Open Anyway.
Run this in Terminal, then open the app again.
xattr -cr /Applications/ldap-studio.appThe app checks GitHub for a new version when it launches, and you can check any time from the app menu (Check for Updates…). To update, download the new zip and replace the app in Applications.
Needs Xcode and Homebrew. The script builds a Release app and zips it into the dist folder.
git clone https://github.com/dethdkn/ldap-studio && cd ldap-studiobrew bundle./scripts/build.shGet started
On the home window, click Add Connection…, fill in the fields and press Test Connection before saving.
Directory Server
Point at a field
Host
The hostname or IP address of your LDAP server.
Connection as an LDAP URL
ldaps://ldap.example.org:636/dc=example,dc=org
bind cn=admin,dc=example,dc=org
Double-click a saved connection to open its directory in a new window.
Right-click any entry in the tree for every action you can take on it.
Select several entries and drag them onto another branch to move them.
Every action lives in the menu bar, and most have a shortcut.
Contributors
LDAP Studio is built by the people below. Bug fixes, features and translations are welcome.

Free, open source and made for the Mac. Get the latest version and connect to your first server.
ldap-studio-v1.3.0.zip · 6.2 MB · Oct 8, 2026