  1. [JA3 Fingerprint](https://scrapfly.io/web-scraping-tools/ja3-fingerprint)
2. [ TLS Extensions ](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extensions "Browse all TLS Extensions")
3. supported\_versions
 
   [  Browse All TLS Extensions ](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extensions) 

  # supported\_versions

TLS Extension Code: `43`

 

  ### Extension Details

 

Extension Name

`supported_versions`

 

Extension Code (Decimal)

`43`

 

Extension Code (Hex)

`0x002B`

 

RFC Reference

 [ RFC 8446  ](https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.1) 

 

 

 

  ### What is supported\_versions?

 

The Supported Versions extension allows clients to indicate which TLS versions they support. In TLS 1.3, this extension is mandatory and replaces the legacy\_version field in the Client Hello. Clients typically advertise support for TLS 1.3, TLS 1.2, and sometimes TLS 1.1. The server selects the highest mutually supported version. This extension was introduced to avoid compatibility issues with middleboxes that rejected unknown TLS versions in the legacy\_version field. Different browsers and clients advertise different version sets, making this a key component of JA3 fingerprinting.

 

 

  ### Role in JA3 Fingerprinting

 

  How This Extension Affects Fingerprinting 

 The **supported\_versions** extension is part of the TLS Client Hello packet that JA3 analyzes to create a unique fingerprint of your browser or HTTP client.

 **JA3 Construction:** JA3 concatenates TLS parameters including extensions in a specific format:
 `TLS_VERSION,CIPHERS,EXTENSIONS,CURVES,POINT_FORMATS`

 Different browsers and HTTP clients support different sets of TLS extensions, making this a key differentiator in fingerprinting. The presence, absence, or order of extensions like `supported_versions` can reveal:

- Browser type and version (Chrome, Firefox, Safari, Edge)
- Operating system (Windows, macOS, Linux, Android, iOS)
- HTTP library (curl, Python requests, Go http.Client, Node.js)
- Bot detection - automated tools often have distinctive extension sets
 
 

 

 

  ### Test Your TLS Configuration

 

 See if your browser or HTTP client includes the `supported_versions` extension in its TLS handshake:

 [  Test Your JA3 Fingerprint ](https://scrapfly.io/web-scraping-tools/ja3-fingerprint) 

 The JA3 tool will show all TLS extensions your client advertises, including supported\_versions.

 

  ### Browser &amp; Client Support

 

**Modern Browser Support:**

- **Chrome/Edge:** Full support for supported\_versions
- **Firefox:** Full support for supported\_versions
- **Safari:** Full support for supported\_versions
 
**HTTP Client Libraries:**

- **curl:** Support varies by OpenSSL/LibreSSL version
- **Python requests:** Limited TLS extension control
- **curl\_cffi:** Can mimic browser TLS configurations
- **Scrapfly API:** Automatically matches real browser TLS fingerprints
 
 

 

 

  ### Related TLS Resources

 

##### TLS Extensions

- [server\_name (SNI)](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extension/server-name)
- [supported\_groups](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extension/supported-groups)
- [ALPN](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extension/application-layer-protocol-negotiation)
- [supported\_versions](https://scrapfly.io/web-scraping-tools/ja3-fingerprint/extension/supported-versions)
 
 

##### Testing Tools

- [JA3 Fingerprint Tool](https://scrapfly.io/web-scraping-tools/ja3-fingerprint)
- [Browser Fingerprint Test](https://scrapfly.io/web-scraping-tools/browser-fingerprint)
 
 

 

 

  ### Technical References

 

- **RFC Specification:** [ RFC 8446 - TLS Extensions  ](https://datatracker.ietf.org/doc/html/rfc8446#section-4.2.1)
- **IANA Registry:** [ TLS ExtensionType Values  ](https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml)
- **JA3 Project:** [ JA3 - TLS Client Fingerprinting  ](https://github.com/salesforce/ja3)