record_size_limit

TLS Extension Code: 28

Extension Details

Extension Name
record_size_limit
Extension Code (Decimal)
28
Extension Code (Hex)
0x001C
RFC Reference

What is record_size_limit?

The Record Size Limit extension allows clients and servers to negotiate the maximum size of TLS records they are willing to receive. This supersedes the older max_fragment_length extension (which had limitations) and provides more flexibility. The default TLS record size is 2^14 bytes (16KB), but this can be reduced to optimize for latency-sensitive applications or memory-constrained devices. Smaller record sizes reduce latency by allowing data to be sent sooner. Defined in RFC 8449, this extension is used in modern TLS 1.3 implementations.

Role in JA3 Fingerprinting

How This Extension Affects Fingerprinting

The record_size_limit 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 record_size_limit 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 record_size_limit extension in its TLS handshake:

The JA3 tool will show all TLS extensions your client advertises, including record_size_limit.

Browser & Client Support

Modern Browser Support:

  • Chrome/Edge: Full support for record_size_limit
  • Firefox: Full support for record_size_limit
  • Safari: Full support for record_size_limit

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

Technical References