I'm having some difficulties matching the json results with the values shown on the website:
I run the test with speedtest -f json-pretty -u bps
{ "type": "result", "timestamp": "2022-03-16T01:40:00Z", "ping": { "jitter": 68.655000000000001, "latency": 11.285 }, "download": { "bandwidth": 804925, "bytes": 5394240, "elapsed": 6706 }, "upload": { "bandwidth": 97467, "bytes": 1321920, "elapsed": 15005 }, "result": { "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "url": "", "persisted": true }
}But when I go to the url, I see this:
How do those 3 download values become 6.44Mbps ?
1 Answer
Those 3 values mean:
Bandwidth - Actual internet download speed in bps, from man speedtest:
The human-readable format defaults to Mbps and any machine-readable formats (csv, tsv, json, jsonl, json-pretty) use bytes as the unit of measure with max precision.
To get value in Mbps, as in following image you have to divide it by 125000:
The bytes per second measurements can be transformed into the human-readable output format default unit of megabits (Mbps) by dividing the bytes per second value by 125,000.
Bytes - Volume of data used during the test (also in bytes)
Elapsed - Duration of testing download speed, in ms - how much time the testing took.