TLS record parser
Decode a raw TLS record (RFC 8446 §5.1): content type, version, length, and for a ClientHello/ServerHello, the cipher suites/extensions inside. Give it bytes captured off the wire, not a PEM.
Runs on your device. The file is never uploaded.
TLS record parser decodes raw record bytes into the content type and record version, adding a hello's own version, session id size, cipher suites, compression methods and extension list. Reserved GREASE values are marked where they appear, and 14 extension types are named rather than numbered. Only the leading record is parsed, so anything captured after it is ignored.
Questions
What kind of input does it want?
Raw TLS record bytes captured off the wire, as described by RFC 8446 section 5.1. Not a PEM file, not a certificate, not a pcap. If you have a hex dump of the record, turn it into bytes with the From hexdump tool first.
What does it report?
The content type with its name, the record version, and for handshake records the handshake type. If the record carries a ClientHello or ServerHello it goes further: hello version, session id length, cipher suites, compression methods and extensions, with 14 common extension types named.
What are the GREASE markers next to some values?
They flag the reserved values from RFC 8701, whose two byte halves are equal, sent deliberately to check that implementations ignore values they do not know. They are marked in cipher suite and extension lists so you can tell a real negotiation entry from a probe.
Does it decrypt anything?
No. Only the handshake parts that travel in the clear are readable, which is what this parses. Application data records are reported as a content type, a version and a length, nothing more, because their contents are encrypted under keys this tool does not have and would not ask you for.
Why did I get a truncated error?
Because a length field pointed past the end of the bytes you gave. The message names how many more bytes were needed, at which offset, and how many were left, which usually means the capture was cut short or you pasted only part of the record. It also parses only the first record in the file, so extra records after it are ignored.