Parse ASN.1 DER (or PEM-wrapped DER) into a tag/length/value tree. Decodes OID, UTF8, INTEGER, and other universal types when obvious.
Privacy: Decoding runs entirely in this tab. Your bytes and optional schema text are not uploaded to Codeground servers.
Binary payload
Decoded output
{
"tag": 48,
"tagClass": "UNIVERSAL",
"constructed": true,
"tagNumber": 16,
"tagName": "SEQUENCE",
"length": 8,
"offset": 0,
"rawHex": "02 01 01 0c 03 41 64 61",
"children": [
{
"tag": 2,
"tagClass": "UNIVERSAL",
"constructed": false,
"tagNumber": 2,
"tagName": "INTEGER",
"length": 1,
"offset": 0,
"rawHex": "01",
"value": 1
},
{
"tag": 12,
"tagClass": "UNIVERSAL",
"constructed": false,
"tagNumber": 12,
"tagName": "UTF8String",
"length": 3,
"offset": 3,
"rawHex": "41 64 61",
"value": "Ada"
}
]
}Certificates, CMS, and many crypto structures are ASN.1 DER. Paste PEM or hex/Base64 DER to explore the TLV tree without OpenSSL.
Paste Base64, hex, or PEM (for ASN.1). Auto-detect treats even-length hex strings as hex; otherwise Base64 is assumed. Whitespace is stripped automatically.
Do you upload my binary payloads? No. Decoding runs entirely in your browser. Bytes and optional schemas never leave this tab.
PEM or DER? Both. PEM headers are stripped automatically; otherwise paste Base64 or hex DER bytes.
Indefinite length BER? This decoder expects definite-length DER. Indefinite BER is rejected with a clear error.
Is my certificate uploaded? No — parsing is 100% client-side.
Related: Protobuf decoder · MessagePack · CBOR · Base64 decode · JSON formatter