'Understand ookla speedtest json values

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": "https://www.speedtest.net/result/c/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
        "persisted": true
    }
}

But when I go to the url, I see this: enter image description here

How do those 3 download values become 6.44Mbps ?



Solution 1:[1]

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.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 TooMeeNoo