---
title: PEM_TO_JWK
url: https://www.tines.com/docs/formulas/functions/pem-to-jwk/
kind: formula-function
---

*[tines.com](https://www.tines.com/llms.txt) › [Docs](https://www.tines.com/docs/llms.txt) › [Formulas](https://www.tines.com/llm/docs/formulas.md) › [Functions](https://www.tines.com/llm/docs/formulas/functions.md)*

# PEM_TO_JWK

*[View on tines.com](https://www.tines.com/docs/formulas/functions/pem-to-jwk/)*

Converts a PEM-encoded key or X.509 certificate to JSON Web Key (JWK) format. By default returns only the public key components. When `include_private` is `TRUE`, includes private key components if available. Supports RSA and ECDSA keys, as well as extracting public keys from certificates.

**Categories:** Data Parsing/Conversion

## Syntax

```
PEM_TO_JWK(pem, [include_private: FALSE])
```

## Examples

### Example 1

Input:

```json
{
  "my_action": {
    "pem": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0vx7agoebGcQSuuPiLJX\nZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tS\noc/BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt\n7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0\nzgdAZHzu6qMQvRL5hajrn1n91CbOpbISO_BIZ1tOl6U7QElTqLaXyJjnfwJTQwKP\nUwD3xQGNzqXPv2VZKtlkPKhEjRXN9YXJnS9QsQFRU5L2rN2tOXJm4a-BsxoYPAmC\nl1h\nwIDAQAB\n-----END PUBLIC KEY-----\n"
  }
}
```

Formula:

```
PEM_TO_JWK(my_action.pem)
```

Output:

```json
{
  "kty": "RSA",
  "n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISO_BIZ1tOl6U7QElTqLaXyJjnfwJTQwKPUwD3xQGNzqXPv2VZKtlkPKhEjRXN9YXJnS9QsQFRU5L2rN2tOXJm4a-BsxoYPAmCl1h",
  "e": "AQAB"
}
```

### Example 2

Input:

```json
{
  "my_action": {
    "pem": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDS_Htqih5sZxBK\n64-IslZmm032ed2tCZtcSmzZqIAVtaEzvwuFbHhxtt8AC1VPzrPC7VErtq8UXG6E\nNHUvq1Khz8EkQI95tYpFeMFkKIVXifeSSeeEyy2fri1n_Zb7kmwZjgdzmf3IFcCv\nCX3eWq3v9E3nDoJ_SHhDJDm_7rlgaNBHT8UNbZC_OpjfrxBAyJwC1pKrOzwolmCd\nhv1zt3TOB0BkfO7qoxC9EvmFqOufWf3UJs6lshI78EhnW06XpTtASVOotpfImOd_\nAlNDAo9TAPfFAY3Opc-_ZVkq2WQ8qESNFc31hcmdL1CxAVFTkvas3a05cmbhr4Gz\nGhg8CYKXWHAgMBAAECggEAX4cTI5uEHYj85CiGCJOg_E7Dh0t2zp2Px3KT-H-dN1n\nzCXJKt9-IQKJQ0h7RQxd1AgMBAAECggEAX4cTI5uEHYj85CiGCJOg_E7Dh0t2zp2P\nx3KT-H-dN1nzCXJKt9-IQKJQ0h7RQxd1AgMBAAECggEAX4cTI5uEHYj85CiGCJOg_\nE7Dh0t2zp2Px3KT-H-dN1nzCXJKt9-IQKJQ0h7RQxd1\n-----END PRIVATE KEY-----\n"
  }
}
```

Formula:

```
PEM_TO_JWK(my_action.pem, include_private: TRUE)
```

Output:

```json
{
  "kty": "RSA",
  "n": "0vx7agoebGcQSuuPiLJXZptN9nndrQmbXEps2aiAFbWhM78LhWx4cbbfAAtVT86zwu1RK7aPFFxuhDR1L6tSoc_BJECPebWKRXjBZCiFV4n3oknjhMstn64tZ_2W-5JsGY4Hc5n9yBXArwl93lqt7_RN5w6Cf0h4QyQ5v-65YGjQR0_FDW2QvzqY368QQMicAtaSqzs8KJZgnYb9c7d0zgdAZHzu6qMQvRL5hajrn1n91CbOpbISO_BIZ1tOl6U7QElTqLaXyJjnfwJTQwKPUwD3xQGNzqXPv2VZKtlkPKhEjRXN9YXJnS9QsQFRU5L2rN2tOXJm4a-BsxoYPAmCl1h",
  "e": "AQAB",
  "d": "X4cTI5uEHYj85CiGCJOg_E7Dh0t2zp2Px3KT-H-dN1nzCXJKt9-IQKJQ0h7RQxd1"
}
```
