Certificate decoder
Paste a certificate, a chain or a revocation list and read what is in it, field by field, decoded in your browser.
More in Security
What you see when you decode a certificate
Paste the text that starts with -----BEGIN CERTIFICATE-----, or several certificates one after another, and press Decode. The first thing on the page is a plain answer: how long the certificate has left, who it was issued to and by whom, and whether it is a CA. Below it are the names it covers, the dates, the key and its strength, and the subject and issuer with the code of each part beside its name.
Tabs under the answer hold the details people go looking for. Fingerprints are the SHA-256 and SHA-1 hashes of the whole certificate, plus the serial number and the SHA-256 of the public key, which is the value you use to pin a key. Extensions are listed one by one with a sentence in plain English before the raw value. Checks lists the problems we found, each with the rule it comes from.
Checking a chain
A server should send its own certificate first, then each intermediate that signed the one before it. Paste them all and the page draws the chain, leaf first, with the validity of each link. If the certificates came in another order, it says so and shows the right one. If the last certificate names an issuer that is not in your paste, a dashed box marks the gap: that is normal for a root, because browsers already have it.
Chains are linked by name and, when both sides carry them, by key identifier. We do not check that each signature is mathematically valid, and we do not decide whether a root is trusted. To see what a live server sends, use the SSL checker.
What the checks look for
- Validity longer than the CA/Browser Forum allows for the date it was issued (398 days, then 200 from March 2026, and shorter later).
- A common name that is missing from the subject alternative names, or no subject alternative names at all.
- An RSA key under 2048 bits, an unusual curve, or a key that matches the ROCA fingerprint (CVE-2017-15361).
- A SHA-1 or MD5 signature, a very short serial number, a missing extended key usage, or no embedded log receipts.
Your paste stays with you, and never paste a private key
With JavaScript on, the certificate is decoded by your browser and nothing you paste is sent to us. Without JavaScript the form cannot decode it for you, so it sends the text to our server in the address of the request, the server decodes it and keeps no copy. Certificates are public by design, so that is rarely a problem, but use the JavaScript version for anything you would rather keep private.
A certificate never contains a private key. If a PRIVATE KEY block is in the box, we clear it, read nothing and tell you to replace the key if it was ever shared. To check a certificate, paste the certificate only.
The same thing in a terminal
Every result shows the matching command, so you can confirm what you see with a tool you already trust. For a single certificate it is:
openssl x509 -in cert.pem -noout -text
openssl x509 -in cert.pem -noout -fingerprint -sha256Questions people ask
Is what I paste sent to you?
Not with JavaScript on: your browser decodes it and nothing is sent. Without JavaScript the form sends the text to our server, which decodes it and keeps no copy. Either way, a private key is refused and not read.
Which formats can it read?
PEM (the text between BEGIN and END lines) and base64 DER, for a certificate, a chain, a certificate signing request, a PKCS#7 bundle or a certificate revocation list. Paste up to 256 KB. Binary files are not read directly: open them in a text editor or convert them with openssl x509 -inform der -outform pem.
What is the SPKI hash for?
It is the SHA-256 of the certificate's public key. It stays the same when you renew a certificate with the same key, so it is the value people pin in apps and some security policies. If you change the key, the hash changes.
Why does it say the certificate is valid for more days than I expected?
We count whole days from now to the "not after" date, in UTC, using the clock of the device or server that decodes it. A certificate that ends at the start of a day shows one day less than you may count.
Does it tell me whether browsers trust the certificate?
No. It reads what is in the file. Trust depends on the issuer being in the trust store of each browser and system, on the chain being complete and on the certificate being logged. To test a live site, use the SSL checker, and to see every certificate logged for a name, use the certificate transparency search.
Why do I see a warning for a certificate that works?
Warnings point at rules of the CA/Browser Forum, which apply to certificates meant for the public web. A private or internal certificate may break them on purpose and still work for your own systems.
Use it from AI, the API or the command line
Every LookupOwl tool is also a free API and an MCP tool, with no key and no account. This one is x509_decode. Please be kind to the rate limits.
curl "https://lookupowl.com/api/v1/tools/x509-decode?q=-----BEGIN+CERTIFICATE-----%0AMIIC2DCCAn6gAwIBAgIUGa7LpiZt4UbfIC7C9Wat424pXOgwCgYIKoZIzj0EAwIw%0AVTELMAkGA1UEBhMCVVMxGTAXBgNVBAoMEEV4YW1wbGUgVHJ1c3QgQ28xKzApBgNV%0ABAMMIkV4YW1wbGUgVHJ1c3QgVExTIElzc3VpbmcgRUNDIENBIDEwHhcNMjYxMTAx%0AMDAwMDAwWhcNMjcwNDMwMDAwMDAwWjAWMRQwEgYDVQQDDAtleGFtcGxlLmNvbTBZ%0AMBMGByqGSM49AgEGCCqGSM49AwEHA0IABLe4Q%2FzxYvGoxvhWTZEN%2FqdFjJ6qE9II%0AVew5%2BAewmjnB8WcUS7KllkgZJtArv1TT3E4ZtBWauZUQJqm9MgpDR8mjggFpMIIB%0AZTAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB%2FwQEAwIHgDATBgNVHSUEDDAKBggrBgEF%0ABQcDATAlBgNVHREEHjAcggtleGFtcGxlLmNvbYINKi5leGFtcGxlLmNvbTAjBgNV%0AHSAEHDAaMAgGBmeBDAECATAOBgwrBgEEAYaNHwEDAQEwaQYIKwYBBQUHAQEEXTBb%0AMDMGCCsGAQUFBzAChidodHRwOi8vY2EuZXhhbXBsZS50ZXN0L2lzc3VpbmctY2Et%0AMS5jZXIwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmV4YW1wbGUudGVzdDA5BgNV%0AHR8EMjAwMC6gLKAqhihodHRwOi8vY3JsLmV4YW1wbGUudGVzdC9pc3N1aW5nLWNh%0ALTEuY3JsMB0GA1UdDgQWBBR4GImtN51nNRWwWd3YTucnLrG1dDAfBgNVHSMEGDAW%0AgBQBu%2BoquOPaoXGTys7WE7kDlmqIlDAKBggqhkjOPQQDAgNIADBFAiEA48r0yvzw%0AB29%2B9Yoh7%2FBHJdZOVXTeSG%2FUiPIb1J7IPkcCIBShFmMpRjiK1q9XGaaMuLFpkcwh%0A7WxHQclhnWV3ZzMc%0A-----END+CERTIFICATE-----"claude mcp add --transport http lookupowl https://lookupowl.com/mcp