Tipos de chave (kty): EC com crv (P-256, P-384, P-521, secp256k1), x e y; RSA com n e e (e d, p, q, dp, dq, qi para chaves privadas); OKP (RFC 8037) com crv Ed25519, Ed448, X25519 ou X448 e x; oct com k para chaves simétricas. Os valores são inteiros big-endian ou strings de bytes codificados em base64url; as coordenadas têm tamanho fixo (32 bytes na P-256), então remover bytes zero à esquerda corrompe as chaves.
Metadados opcionais: kid, alg (vincula a chave a um único algoritmo), use (sig ou enc), key_ops e os vínculos com certificados x5c ou x5t#S256. Uma JWK privada contém d; nunca a publique e remova esse membro antes de colocar a chave em um JWKS. As ferramentas deste site rejeitam JWKs com d sempre que só uma chave pública é necessária.
As conversões de e para PEM não perdem nada do material da chave; fazem isso o node:crypto (createPublicKey e export com format: "jwk"), a importação e a exportação jwk do WebCrypto e o conversor de JWK.