Performance

Internet Speed Test

Measure download, upload, latency, and jitter against a configurable endpoint you control.

Privacy: The test transfers test data to the configured endpoint. It does not run unless an endpoint is configured and you start the test.

Test interface

Your browser may ask for permission after you press Start.
Only test against endpoints you control or trust. Results vary with the server, route, Wi-Fi and other traffic.
Press Start to begin.
0.0 Mbps
Latency
Download speed
Upload speed
Jitter
Download speed—Mbps
Upload speed—Mbps
Latency—ms
Jitter—ms
Data used0 MB
Server—
This is a browser-level throughput estimate, not a laboratory measurement. It depends on server capacity, CORS, TCP behaviour, Wi-Fi conditions and concurrent traffic.

How to use this tool

  1. Click Start speed test and keep other downloads closed.
  2. The test measures latency first, then download and upload throughput.
  3. Read Mbps and millisecond values together with the server label.
  4. Use Repeat to check consistency, and Stop to cancel an active test.

Advertisement

Technical explanation

The page performs timed HTTP requests against a configured endpoint, using cache-busting and measured transferred bytes. Latency is estimated from small request round trips. Throughput is calculated from bytes transferred over elapsed time.

Browser speed tests are affected by HTTP overhead, server location, TCP ramp-up, device CPU, Wi-Fi, and the endpoint capacity. A result is not a substitute for an ISP diagnostic or a calibrated line-rate measurement. This project ships without a default speed endpoint; you must configure one you control.

Troubleshooting

Test says no endpoint configured

Set speedtest.download_url, upload_url, and ping_url in app/config.local.php. The bundled test never uses a third-party server without configuration.

Results are much lower than expected

Close other transfers, use a wired connection where possible, and confirm the endpoint has enough bandwidth.

Upload fails

The endpoint must accept the upload method and size used by the test, and must allow cross-origin requests when hosted elsewhere.

Latency is unstable

Wi-Fi interference, bufferbloat, and background traffic affect jitter. Repeat at a quiet time.

Frequently asked questions

Advertisement