secp256r1
secp256r1, also called NIST P-256, is the most widely supported elliptic curve in TLS. Every measured client offers it.
What it is
secp256r1 (group 23), known as NIST P-256 or prime256v1, is an elliptic curve standardized by NIST and used in TLS for ECDHE key exchange since RFC 4492, now RFC 8422. It provides about 128 bits of security, comparable to AES-128.
P-256 is also the curve behind most ECDSA certificates, through the ecdsa_secp256r1_sha256 signature scheme, and it is required by many compliance profiles that accept only NIST curves. RFC 8446 requires TLS 1.3 implementations to support it for key exchange.
Its main competitor is x25519, which is faster and easier to implement safely, so most clients now prefer x25519 and keep P-256 as the second or third choice for servers that do not support Curve25519.
Its parameters were published by NIST and SECG in the early 2000s, and it is supported by every major TLS library and hardware security module.
Who sends it
Measured on 2026-10-25 against our own test server: sent by 12 of 12 clients. Position counts from 1 and ignores GREASE values.
Why it matters for fingerprinting
Every measured client offers it. Chrome, curl_cffi, Python requests, httpx, Go net/http, Node.js fetch and Guzzle list it 3rd, after X25519MLKEM768 and x25519. curl and curl-impersonate list it 2nd, because they do not offer the post-quantum hybrid.
Check whether your client sends it
Open the test from your browser, or call it from your script, and look for secp256r1 in the TLS details.
Run the TLS fingerprint test