openpgpjs/openpgpjs

OpenPGP implementation for JavaScript

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 9 minutes ago
Added to GitGenius on September 11th, 2026
Created on November 13th, 2011
Open Issues & Pull Requests: 33 (+0)
GitHub issues: Enabled
Number of forks: 827
Total Stargazers: 5,966 (+0)
Total Subscribers: 167 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 29.5 hours
Mean response time: 157.2 days
90th percentile: 584.2 days
Tracked items: 35

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 8% of issues opened in the past year have been closed. Three people close 93% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 7
New in 7 days: 1
Closed in 7 days: 0
Avg open age: 706 days
Stale 30+ days: 6
Stale 90+ days: 4

Recent activity

Opened in 7 days: 1
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • Documentation (2)
  • Feature (2)
  • Testing (2)
  • TypeScript (2)
  • Bug (1)
  • Compatibility (1)
  • Performance (1)
  • Security (1)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

OpenPGP.js is a JavaScript implementation of the OpenPGP protocol that enables encryption, decryption, signing, and key management in JavaScript environments.

The tool solves the problem of performing cryptographic operations compliant with the OpenPGP standard in JavaScript by implementing RFC 9580. It provides APIs for symmetric and asymmetric encryption, message signing and verification, key generation and revocation, and streaming operations for handling large data. The implementation relies on the Web Cryptography API's SubtleCrypto interface for underlying cryptographic primitives, which means it delegates actual cryptographic operations to platform-provided implementations rather than implementing them from scratch.

Developers should choose this tool when building web applications or Node.js services that need to interoperate with PGP-encrypted data or communicate with users of traditional PGP tools. It suits projects requiring end-to-end encryption in the browser, encrypted file handling, or integration with PGP-based workflows. The tool works in recent versions of Chrome, Firefox, Edge, and Safari 15 and later in browsers, and in Node.js v22 and later on the server side. Browser usage requires a secure context. The README indicates experimental support for Deno. The tool supports both plain data and string encryption, symmetric encryption with compression, and detached signatures for message authentication without modifying the original content.

The project maintains a security audit on record and publishes security recommendations for users. Development activity shows ongoing maintenance with updates to support current platform versions and protocol standards, including migration to the latest RFC specification. The codebase is actively managed to ensure compatibility with evolving JavaScript runtime environments and security best practices.