SpeedFox Testing Methodology

Full technical disclosure of how we measure bandwidth, latency, and connection quality.

By the SpeedFox team · Last updated

1. Latency & Jitter Probes

Latency (Ping) is measured by calculating the Round Trip Time (RTT) of consecutive lightweight HTTP requests to our target test server. SpeedFox computes Jitter using the RFC 3550 standard for Mean Absolute Deviation between sequential latency measurements:

Jitter = (Σ |Ping[i] - Ping[i-1]|) / (N - 1)

2. Download & Warm-Up Phase

The download test opens parallel HTTP streams (configurable 1–6 connections) directly from the client browser. To prevent TCP slow-start from under-reporting your true bandwidth, SpeedFox incorporates a 1.5-second warm-up window. Samples recorded during warm-up are discarded before calculating final average throughput.

3. Cache Busting & Header Protections

To ensure accuracy, every request append unique timestamp parameters and sets explicit HTTP headers (Cache-Control: no-cache, no-store) preventing local browser caches or intermediary proxy servers from spoofing speed results.

4. Bufferbloat Grading

Alongside idle ping, SpeedFox samples round-trip latency while the download and upload phases are actively saturating your connection, then takes the 90th percentile of those loaded-ping samples, which resists a single fluke spike swinging the result while still reflecting genuinely sustained latency under load. The increase over your idle ping is graded on the same A+-to-F convention popularized by Waveform's bufferbloat test:

A+ under 5ms
A 5–29ms
B 30–59ms
C 60–199ms
D 200–399ms
F 400ms+

See what bufferbloat is and why it matters for the full explanation.

Real-world Browser Limitations

No browser speed test can guarantee 100% precision due to external factors including Wi-Fi interference, background system updates, active VPN overhead, or JavaScript engine garbage collection. We present measurements transparently without making exaggerated claims.