TLS Cipher Suites
A complete list of all named TLS cipher suites registered with IANA, identified by their two-byte hex value pair and canonical name such as TLS_AES_128_GCM_SHA256. Each entry includes the IANA recommended flag (true only for suites actively recommended by IANA, excluding deprecated and non-recommended ones) and the authoritative RFC references.
Quick fetch
Stable URL. CORS-enabled. No auth.
curl https://staticdata.dev/v1/tls-cipher-suites.json
Or use as a typed import:
import { tlsCipherSuites } from "https://staticdata.dev/v1/tls-cipher-suites.ts"
Formats
- JSON 51.3 KB
/v1/tls-cipher-suites.json
min: 40.9 KB · /v1/tls-cipher-suites.min.json
- CSV 24.9 KB
/v1/tls-cipher-suites.csv
- TypeScript 51.5 KB
/v1/tls-cipher-suites.ts
export const tlsCipherSuites
type CipherSuite = (typeof tlsCipherSuites)[number]
Schema
Each record in the dataset has the following shape.
| Field | Type | Description | Example |
|---|---|---|---|
| value | string | Two-byte hex identifier e.g. 0x00,0x2F | 0x13,0x01 |
| name | string | IANA canonical cipher suite name | TLS_AES_128_GCM_SHA256 |
| recommended | boolean | True if IANA marks this suite as Recommended (Y) | true |
| reference | string | Bracketed RFC or draft references from IANA | [RFC9846] |
Preview
First 10 records.
| value | name | recommended | reference |
|---|---|---|---|
| 0x00,0x00 | TLS_NULL_WITH_NULL_NULL | false | [RFC5246] |
| 0x00,0x01 | TLS_RSA_WITH_NULL_MD5 | false | [RFC5246][RFC10015] |
| 0x00,0x02 | TLS_RSA_WITH_NULL_SHA | false | [RFC5246][RFC10015] |
| 0x00,0x03 | TLS_RSA_EXPORT_WITH_RC4_40_MD5 | false | [RFC4346][RFC6347][RFC10015] |
| 0x00,0x04 | TLS_RSA_WITH_RC4_128_MD5 | false | [RFC5246][RFC6347][RFC10015] |
| 0x00,0x05 | TLS_RSA_WITH_RC4_128_SHA | false | [RFC5246][RFC6347][RFC10015] |
| 0x00,0x06 | TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 | false | [RFC4346][RFC10015] |
| 0x00,0x07 | TLS_RSA_WITH_IDEA_CBC_SHA | false | [RFC8996][RFC10015] |
| 0x00,0x08 | TLS_RSA_EXPORT_WITH_DES40_CBC_SHA | false | [RFC4346][RFC10015] |
| 0x00,0x09 | TLS_RSA_WITH_DES_CBC_SHA | false | [RFC8996][RFC10015] |
Fetch examples
Drop-in snippets in five languages.
curl -sSL https://staticdata.dev/v1/tls-cipher-suites.json | jq '.[0]' import type { CipherSuite } from "https://staticdata.dev/v1/tls-cipher-suites.ts";
const res = await fetch("https://staticdata.dev/v1/tls-cipher-suites.min.json");
if (!res.ok) throw new Error(`Fetch failed: ${res.status}`);
const tlsCipherSuites: CipherSuite[] = await res.json();
console.log(tlsCipherSuites[0]); import urllib.request, json
with urllib.request.urlopen("https://staticdata.dev/v1/tls-cipher-suites.min.json") as r:
tlsCipherSuites = json.load(r)
print(tlsCipherSuites[0]) package main
import (
"encoding/json"
"fmt"
"net/http"
)
func main() {
resp, err := http.Get("https://staticdata.dev/v1/tls-cipher-suites.min.json")
if err != nil { panic(err) }
defer resp.Body.Close()
var data []map[string]any
if err := json.NewDecoder(resp.Body).Decode(&data); err != nil {
panic(err)
}
fmt.Println(data[0])
} use serde_json::Value;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let body = ureq::get("https://staticdata.dev/v1/tls-cipher-suites.min.json").call()?.into_string()?;
let data: Vec<Value> = serde_json::from_str(&body)?;
println!("{:?}", data.first());
Ok(())
} Sources and methodology
TLS cipher suites identify the algorithms used for key exchange, authentication, bulk encryption, and message authentication in a TLS session. Each suite is assigned a unique two-byte value by IANA and given a canonical name following a structured naming convention (e.g. TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256). This dataset covers all 356 named suites from the IANA registry, excluding Unassigned and Reserved ranges.
The recommended field reflects the IANA “Recommended” column: true means IANA actively recommends the suite (value Y in the registry), which applies only to a small set of modern TLS 1.3 and select TLS 1.2 suites. Entries marked D (deprecated) or N (not recommended) map to false. Suites deprecated via RFC 9847 or RFC 10015 (which deprecates obsolete key exchange methods) are noted in the reference field. Recommended flags and references reflect the registry as of October 2026.
Data was fetched directly from the IANA TLS Parameters registry CSV (tls-parameters-4.csv). Range rows (Unassigned, Reserved, and wildcard value patterns) are excluded; only rows with a concrete named cipher suite description are included. The dataset is sorted by hex value in ascending order as they appear in the IANA registry.
Versioning
URLs under /v1/ are stable: field names and types will not change in a way
that breaks consumers. Values can be corrected or records added when the upstream source
changes; schema-incompatible updates ship under a new version path. See the
tls-cipher-suites changelog for this dataset's history.
More Web datasets
- aria-attributes
- aria-roles
- character-encodings
- csp-directives
- credit-card-types
- dns-record-types
- dom-events
- emoji
- emoji-shortcodes
- html-elements
- html-entities
- html-attributes
- input-types
- http-auth-schemes
- http-cache-directives
- http-content-codings
- http-headers
- http-methods
- http-status-codes
- http-versions
- iframe-sandbox-tokens
- ip-protocol-numbers
- keyboard-event-codes
- link-relations
- media-type-suffixes
- mime-types
- oauth-grant-types
- ports
- referrer-policies
- ip-special-blocks
- svg-elements
- tcp-flags
- tlds
- tls-versions
- uri-schemes
- well-known-uris