PEM ↔ JWK Converter — Public Keys

Convert RSA/EC public PEM (SPKI) to JWK JSON and back. Private PKCS#8 input yields a redacted public JWK only. Paste-only, with no network.

…
PEM ↔ JWK converter
Convert public keys locally. Private PEM never exports raw private JWK fields.

Developer notes

Auto-detect PEM vs JSON. Exported JWK omits alg, since the signing alg is unknown from a bare key. PKCS#1 RSA private keys are rejected, so convert to PKCS#8 first. Private JWK → PEM is not supported in v1. 512 KB limit.

Options

Direction
The auto mode detects PEM headers or JSON kty. Swap moves the output back to the input and re-runs with Auto.

When teams pick this route

Build JWKS JSON from a PEM public key. Export SPKI from a JWK for OpenSSL/config pipelines. Pair with inspect-jwks for inventory.

Worked examples

SPKI PEM → JWK

Input

-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApJDt1LpPJr4g8MDwd8cM JaKiwjzmq4TYuQmA3SznzJNiV+8arfSrOVUx55Q8kg4Rwd1PxSMhx8jXr3kqfpMh bZZMQjmW5+hjqUW1pUC+Qzkgh8ARNCXVqfp77GKqBFFulB+GQCJ6J3QBwXMwgFOz jTNMKCXjHV1K8MU6zvSnSJs2EXeFw6OL6cXTRIg+1So0S9xrdXdzZBdH2md+//0u fRDzNVPuM/3QNAx/bsYIcGn0iE1KnZLnKgJHBw9Wq4Qqcp4LnIvYFIi3WStQDN8c rO6qRzjdY0Khou3s3VAByD5QiZEGxOl3kblCeSDBkWGGanSHen/fD/MGFGazU/r8 nQIDAQAB -----END PUBLIC KEY-----

Output

{ "kty": "RSA", "n": "...", "e": "AQAB" }

Related tools

To inspect JWKS, use inspect-jwks. For certificates, use decode-certificate. To verify a JWT, use jwt-verify.

PEM ↔ JWK FAQ

Public-first conversion

Why is my RSA PRIVATE KEY (PKCS#1) rejected?

v1 accepts PKCS#8 private keys only. Convert with: openssl pkcs8 -topk8 -nocrypt -in key.pem

Does output include alg?

No. A bare public key does not imply a signing algorithm, so alg is omitted from PEM→JWK output.

Can I export private JWK to PEM?

No, not in v1. Use public JWK fields only.

Size limit?

512 KB per paste.

Inspect JWKS, verify JWTs, decode X.509 certificates, convert PEM and JWK, scan text for secrets and hash with bcrypt in your browser.