Developer Libraries/Tools
All applications on this page implement the OpenPGP standard. The authors of this webpage are not actively participating in the development of each of these third-party apps. No security audits have been done by us and, thus, we cannot provide any security guarantees.
OpenPGP Libraries
- Bouncy Castle (Low-level Java/C#)
- calccrypto/OpenPGP (C++)
- Crypt::OpenPGP (Perl)
- GnuPG Made Easy (GPGME) (C, with Python and Lisp bindings)
- go-crypto (ProtonMail fork) (Go, low level)
- GOpenPGP (Go, high level)
- Haskell OpenPGP (Haskell)
- hOpenPGP (Haskell)
- IPWorks OpenPGP (.NET, Java, C++, Python, Delphi, PHP, Node.js, Android, iOS)
- kbpgp (JavaScript)
- NeoPG (C++, GnuPG fork as a library)
- NetPGP (C, with Python, Perl and Lua bindings)
- ObjectivePGP (Objective C)
- OCaml PGP (OCaml)
- OpenKeychain API (Java)
- OpenPGP-PHP (PHP)
- OpenPGP.js (Javascript)
- PGPainless (Java)
- PGPy (Python)
- RNP (C++)
- rPGP (Rust)
- Sequoia PGP (Rust)
- Swift-PGP (Swift)
- TMCG / dkgpg (C++)
Libraries Supporting OpenPGP Smartcards
- GnuPG Made Easy (GPGME) (C, with Python and Lisp bindings)
- Hardware Security SDK (Java)
- openpgp-card (Rust)
- OpenSC (C)
Developer Tools
Project Missing?
If a project is missing and you would like it included, please open a pull request at github.com/OpenPGP/openpgp.org. Please note that we only include published, working software, which implements the standard. The software is ordered alphabetically within the sections.