Parse, decode, and analyze PEM‑encoded cryptographic objects: X.509 certificates, RSA/EC/DSA private keys, public keys, and CSRs. Extract detailed fields, key parameters, SHA fingerprints, and view ASN.1 structure – all locally in your browser.
PEM (Privacy-Enhanced Mail) is a de facto file format for storing and sending cryptographic keys, certificates, and other sensitive data. Defined originally in RFC 1421–1424 and later refined in RFC 7468, PEM uses Base64 encoding of DER (Distinguished Encoding Rules) binary data, wrapped between -----BEGIN and -----END delimiters. Common labels include CERTIFICATE, RSA PRIVATE KEY, EC PRIVATE KEY, PUBLIC KEY, and CERTIFICATE REQUEST.
PEM encoding pipeline: ASN.1/DER binary → Base64 (line‑wrapped at 64 chars) → header/footer. This ensures text‑based transport over HTTP, email, or Git while preserving binary integrity.
Our decoder not only extracts the Base64 payload but also reconstructs the DER structure, inspects cryptographic attributes, and validates integrity. Whether you are debugging SSL/TLS certificates, automating PKI workflows, or auditing private keys, this tool provides instant, actionable insights.
The tool uses Forge (a native JavaScript TLS/crypto library) to parse and decode each supported PEM type. Based on the detected label, it calls appropriate ASN.1 parsers:
All operations are executed locally via WebAssembly-equivalent pure JavaScript – your private keys never touch any server.
A system administrator receives an SSL error: "certificate has expired" but needs to verify the exact dates and issuer. Instead of using OpenSSL command line, they paste the PEM certificate into this decoder. The tool instantly shows Not Before / Not After timestamps, the issuing CA (Let's Encrypt R3), and the subject alternative names. The administrator identifies that the certificate expired two days ago and renews it, saving critical investigation time.
Another case: a developer suspects a private key is using weak RSA 1024 bits. The decoder highlights the key size and recommends upgrading to 2048+ bits, aligning with NIST guidelines.
| Format | Encoding | Human‑readable | Typical Use |
|---|---|---|---|
| PEM | Base64 + headers | Yes | Email attachments, OpenSSL config, web servers (Apache, Nginx), Kubernetes secrets. |
| DER | Raw binary | No | Java keystores, Windows crypto API, embedded systems. |
Our tool can handle any valid PEM block and also allows you to inspect the underlying DER length and first bytes, bridging the gap between textual and binary representations.
CERTIFICATE), RSA private keys (RSA PRIVATE KEY), EC private keys (EC PRIVATE KEY), PKCS#8 private keys (PRIVATE KEY), public keys (PUBLIC KEY), and CSRs (CERTIFICATE REQUEST). It also handles legacy DSA keys and generic blocks by showing raw hex.