ASN.1 Decoder
Decode DER data (certificates, keys, signatures) into its element tree.
Runs in your browser Your input never leaves your device.
Decoded in your browser. Columns: byte offset, depth, header length, content length, and the element with its value.
Report a problem with this tool
About this tool
ASN.1 with DER encoding is the binary format behind certificates, private and public keys, certificate requests, signatures and many other security files. This tool reads PEM text, plain base64 or hex and lays out the structure the way openssl asn1parse does: each line shows the byte offset, the nesting depth, the header and content lengths, whether the element holds other elements, and its type with a readable value. Object identifiers are shown with their names when known (for example sha256WithRSAEncryption), integers as numbers, times as dates, and strings as text. Certificates and many other formats hide further DER inside OCTET STRING and BIT STRING elements, such as extension values and public keys; the option to open them shows those too, marked as inside. The parser is strict: indefinite lengths, elements that run past the data and extra bytes at the end are reported rather than guessed, and size and nesting are limited. Output was compared line by line with openssl asn1parse on certificates and requests. Everything runs in your browser.
How to use it
- Paste PEM, base64 or hex of DER data.
- Read the structure from the top. Indentation shows nesting.
- Switch off the nested option to see only the outer structure, as openssl asn1parse prints it.
- Press Copy as text to paste the dump into notes or a bug report.
Common problems
- It says there is extra data after the first element
- The input holds more than one DER object, or has trailing bytes. Paste one object, or split a PEM bundle.
- It says the input is not valid PEM, base64 or hex
- Remove any text around the data. For hex, use only the digits 0-9 and a-f, with optional spaces or colons.
- My file is binary, not text
- Convert it to hex or base64 first, for example with xxd -p or base64, and paste the result.