# Network Speed Tester > Measure latency, jitter, download and upload speed between your browser and our server. Runs in your browser: a series of small requests measures latency and jitter, then a random, incompressible download and an upload measure throughput to this server. Without JavaScript you can enter your own measurements (bytes and milliseconds) and get the same statistics. Part of usefulweb.site (https://usefulweb.site/). Results are deterministic calculations from the inputs and the listed assumptions; the API returns exactly what the web page shows. ## Use it - Human interface: https://networkspeedtester.usefulweb.site/ (interactive tool at https://networkspeedtester.usefulweb.site/tool) - JSON API: POST https://networkspeedtester.usefulweb.site/api/v1/calculate with a JSON object of inputs (schema: https://networkspeedtester.usefulweb.site/api/v1/tool) - OpenAPI: https://networkspeedtester.usefulweb.site/openapi.json - MCP (Streamable HTTP): https://networkspeedtester.usefulweb.site/mcp - tool `network_speed_tester` ## Inputs - pingSamples (textarea): Latency samples (ms) - Round-trip times in milliseconds, separated by commas or spaces. The browser test fills this in. - downloadBytes (integer): Downloaded bytes - downloadMs (number): Download time - uploadBytes (integer): Uploaded bytes - uploadMs (number): Upload time ## Method - Latency: the browser sends about 20 tiny no-store requests to /speedtest/ping one after another and times each round trip (the first, which may include connection setup, is discarded). Jitter is the mean absolute difference between consecutive samples. - Download: random bytes from /speedtest/download in growing sizes (up to 50 MB) until one transfer takes about 2 seconds; speed = bytes × 8 ÷ time, in megabits per second (10^6 bit/s). The payload is random, so compression cannot inflate the result. - Upload: random bytes generated in the browser are POSTed to /speedtest/upload, which discards them and reports how many arrived. - Everything runs between your browser and this one server in one region; results to other servers, CDNs or regions can differ a lot. Wi-Fi, VPNs, browser extensions and other traffic on your connection all affect the numbers. ## Limits - Measures only the path between your device and our server (single region). Not an official broadband measurement.