Free tool · no signup
TLS cipher suite checker
Paste the cipher suites your server offers and see which are safe, which are legacy, and which should be switched off, with the reason for each in plain words.
By the Bug Circuit security team · Last updated
Paste your cipher suites
ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers off;
How it works
What a cipher suite name says
A TLS 1.2 suite name packs four choices into one string. In TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 the first part is the key exchange (ECDHE), then the authentication used for the certificate (RSA), then the bulk cipher and mode (AES 128 in GCM mode) and finally the hash (SHA-256). OpenSSL writes the same suite as ECDHE-RSA-AES128-GCM-SHA256, and this tool reads both. TLS 1.3 simplified this: its five suites name only the cipher and the hash, and the key exchange is always ephemeral.
Two properties matter most. Forward secrecy means each connection uses a fresh key, so a stolen server key cannot decrypt traffic that was recorded earlier. It comes from ECDHE or DHE key exchange. Authenticated encryption (AEAD, such as GCM or ChaCha20-Poly1305) protects against the padding and timing attacks that hit the older CBC mode.
How the tool sorts them
Recommended: TLS 1.3 suites, and TLS 1.2 suites with forward secrecy and an AEAD cipher. This follows RFC 9325, the current best-practice document for TLS. Legacy: forward secrecy but CBC mode, which still works but is the source of attacks such as BEAST and Lucky13. Weak: no forward secrecy, typically static RSA key exchange such as AES128-SHA, which TLS 1.3 removed. Insecure: RC4 (banned in 2015), single DES, 3DES (open to the Sweet32 attack), export-grade suites (FREAK and Logjam), anonymous suites with no authentication, null encryption and anything using MD5.
The classification is by the suite itself. Whether you are at risk also depends on the protocol versions you allow and on the server key and groups, so turn off TLS 1.0 and 1.1 as well, and use at least a 2048-bit DHE group if you offer DHE.
Getting your list and fixing it
To see what your server offers, run nmap --script ssl-enum-ciphers -p 443 yourdomain.com, or use an online scanner, and paste the suite names. To see what a server is configured with, look at ssl_ciphers in Nginx or SSLCipherSuite in Apache. The tool prints your list without the weak and insecure suites, and a reference list from Mozilla's Server Side TLS guidance that works for nearly every site today.
Worked examples
A modern suite
ECDHE-RSA-AES128-GCM-SHA256
Recommended. Forward secrecy and authenticated encryption.
ECDHE gives forward secrecy and GCM is an authenticated mode, so this passes both tests.
A suite that should go
DES-CBC3-SHA
Insecure. 3DES has a 64-bit block size and is open to the Sweet32 attack.
It also has no forward secrecy, because it uses static RSA key exchange. Browsers and NIST have retired it.
Works, but legacy
ECDHE-RSA-AES256-SHA384
Legacy. Forward secrecy, but CBC mode.
Keep it only if you must support old clients, and list the GCM suites first.
Frequently asked questions
What is forward secrecy?
Should I disable TLS 1.0 and 1.1?
Is AES-CBC insecure?
Why is static RSA key exchange marked weak?
How do I see which suites my server offers?
What list should I use in Nginx?
Does a good cipher list make my site secure?
Keep reading
See what attackers see, for free
Run the free passive check on your website. No login, no impact on your site, results in seconds.
Ready for the full manual audit? See pricing