Internet speed test: measure ping, download and upload for free
This speed test measures your internet speed with one click: ping, jitter, download, and upload between your browser and a ZAP-Hosting data center in Europe or the US. You’ll see the result in ms and Mbit/s (Mbps), with a rating from Low to Excellent.
Built by Julian Alker
Free, with no sign-up or app: just click “Start test.”
Good speeds? Get a VPS at the location that fits you best.
Determining location
Latency
Variation
Reception
Sending
Prefer the terminal, or need it for scripts and AI agents? The speed test also works via curl.
Example result
What the speed test shows you
After about half a minute, a results card appears with download, upload, ping, jitter, the tested location and a rating. The values below are an example; your results depend on your connection.
Example · Location: Eygelshoven (EGH)
Rating: Very good- Download
- 412.6Mbps
- How quickly data reaches you from the data center (Mbit/s). Affects ratings, downloads, and streaming.
- Upload
- 95.3Mbps
- How quickly your data reaches the data center (Mbit/s). Important for uploads, Backups, and your own servers.
- Ping
- 11.8ms
- Round-trip time in milliseconds. Lower is better: under 20 ms is ideal for Game Servers, under 50 ms is good, and over 100 ms causes noticeable lag.
- Jitter
- 1.4ms
- Ping variation. Below 5 ms, the connection is stable; high values cause lag in games and calls.
How the result is rated
The rating is based solely on download speed.
| Rating | Download |
|---|---|
| Excellent | from 500 Mbps |
| Very good← Example | from 200 Mbps |
| Good | from 100 Mbps |
| Sufficient | from 25 Mbps |
| Low | under 25 Mbps |
Guide
How to measure your internet speed
No download, app or account needed: the speed test runs right in your browser.
Step 1
Prepare your connection
If possible, connect your device with an Ethernet cable and pause downloads and streams on the same network.
Step 2
Choose location and test duration
Leave the location set to “Automatic” to use the data center with the lowest ping, or choose Eygelshoven, Ashburn, Dallas, or Los Angeles. For test duration, choose “Quick (Auto),” “15 seconds,” or “30 seconds.”
Step 3
Start speed test
Click “Start test.” The test measures ping and jitter first, then download speed, and finally upload speed. Use the Mbps/kbps toggle to change the display, or “Cancel” to stop the test.
Step 4
Read result
The results card shows download and upload in Mbit/s, ping and jitter in ms, the tested location, and a rating from Low to Excellent.
Step 5
Share or test again
Use “Share result” to copy the link or share it via WhatsApp. “Test again” starts a new measurement, for example after you’ve selected another location.
Good to know
How to get meaningful speed test results
Every speed test measures the connection between your device and a test server. The location, test duration and your connection to the router determine the result.
Four test locations in Europe and the US
The test measures speed to a ZAP-Hosting data center in Eygelshoven (EGH), Ashburn (ASX), Dallas (DAL) or Los Angeles (LAX). On “Automatic”, your browser pings all locations and picks the one with the lowest latency. Choose a location manually to see how your connection performs with a server on the other side of the Atlantic.
Fast or fixed-duration test
“Fast (Auto)” measures for up to 15 seconds in each direction and stops sooner on fast connections. “15 seconds” and “30 seconds” run for the full duration and give more stable results on very fast connections such as fiber.
Speed test over Wi-Fi or Ethernet
A speed test over Wi-Fi shows the speed reaching your device over Wi-Fi. To check the speed of your internet connection, connect your device to the router with an Ethernet cable and pause downloads and streams on other devices on your network.
Command line
Speed test with curl: Linux servers, scripts and AI agents
A single command measures ping, jitter, download, and upload directly from your server to a ZAP-Hosting data center. You only need sh, curl, awk, and standard tools such as sort and sed; nothing is installed.
$ curl -fsSL https://zap-hosting.com/speedtest/zap-speedtest.sh | shThe location is selected automatically by ping. Depending on your connection, the test transfers several hundred megabytes in each direction. Please do not run it in loops or via cron; the endpoints are public test servers.
JSON output
Use --json to get exactly one line of JSON on stdout. Indented here for readability; the values are examples.
{
"version": "0.1.0",
"timestamp": "2026-10-01T12:00:00Z",
"location": { "id": "egh", "name": "Eygelshoven (EGH)", "selection": "auto" },
"ping_ms": 11.84,
"jitter_ms": 1.37,
"download_mbps": 412.63,
"upload_mbps": 95.31,
"duration_s": 10,
"streams": 4,
"bytes": { "download": 515787500, "upload": 119137500 },
"candidates": [
{ "id": "egh", "ping_ms": 11.8 },
{ "id": "asx", "ping_ms": 96.2 }
]
}For AI agents
Give this prompt to an agent with access to your terminal or server. The script returns fixed JSON fields and reports errors via exit codes, so the agent can evaluate the result without parsing text.
Run `curl -fsSL https://zap-hosting.com/speedtest/zap-speedtest.sh | sh -s -- --json --location egh` on this server and briefly summarize ping, jitter, download, and upload. Assess whether the connection is suitable for a Game Server. Run the test only once, not in a loop.Exit codes: 0 successful, 1 invalid launch options, 2 No location reachable, 3 Measurement failed, 4 curl or awk is missing. On errors, --json outputs an object with error and code.
Options
Append the options after sh -s --, for example: … | sh -s -- --json --location egh
| Option | Effect |
|---|---|
| -l, --location <id> | Fixed location: egh, asx, dal, or lax instead of automatic selection by ping. |
| -d, --duration <s> | Seconds per direction (3 to 30, default 10). |
| -s, --streams <n> | Parallel connections (1 to 8, default 4). |
| -j, --json | Output the result as JSON to stdout, without a progress indicator. |
| -q, --quiet | No progress bar, just the result. |
| -4, -6 | Use only IPv4 or only IPv6. |
| --list | List available locations. |
You can find the location list as JSON at https://zap-hosting.com/speedtest/servers.json.
Check server before launch
Measure the bandwidth and latency actually available on your VPS or Dedicated Server before players or customers connect.
Compare locations
Use --location egh|asx|dal|lax to test the same connection to each data center in turn and see which location best suits your target audience.
For scripts and AI agents
Fixed JSON fields and defined exit codes make the result machine-readable. An agent can run the test on a server and evaluate the values directly.
Discover more
More tools
What is my IP?
Display the public IP address, IPv4/IPv6 version, reverse DNS record, and approximate country.
Built by Jakub Martyniak
Port Checker
Check whether specific ports are open on an IP or hostname—select a protocol or game instead of scanning all ports at once.
Built by Sebastian Rademacher
Traceroute
NewTrace the route from our locations to you (and back), with packet loss at each hop and a plain-language analysis.
Built by Julian Alker
Ping Test
Measure ping, jitter, and packet loss to all Game Server locations and get a recommendation for the best one.
Built by Marvin Kluck
FAQ
Frequently asked questions
Quick answers about the speed test, the measured values, and testing via curl.
Download (in Mbps or Mbit/s) is the speed from the data center to you; upload is the speed from you to the data center. Ping is the round-trip response time in milliseconds: under 20 ms is ideal for Game Servers, under 50 ms is good, and over 100 ms causes noticeable lag. Jitter measures ping variation; under 5 ms indicates a stable connection. A typical result looks like this: download 412.6 Mbps, upload 95.3 Mbps, ping 11.8 ms, jitter 1.4 ms.
The rating is based solely on your download speed: 500 Mbps or more is “Excellent”, 200 Mbps or more “Very good”, 100 Mbps or more “Good”, 25 Mbps or more “Fair”, and anything below that “Low”. So if you get the full speed of a 100 Mbps plan, you'll receive a “Good” rating. The Mbit/s on your plan is the same unit as Mbps in the results. These ratings are a rough guide for streaming, downloads and gaming; depending on the application, lower speeds may be enough for your own server.
Every speed test measures against its own server. This one measures against a ZAP-Hosting data center in Eygelshoven (EGH), Ashburn (ASX), Dallas (DAL), or Los Angeles (LAX). With “Automatic,” your browser sends a short request to each location and selects the one with the lowest latency. You can use the location dropdown to choose a specific location. A test against a server closer to you may give different results without either test being wrong. That’s why the result is not suitable as official proof for your internet provider.
With “Quick (Auto),” the test measures download and upload for up to 15 seconds each and stops earlier on fast connections. The result is usually ready in about half a minute. With “15 seconds” or “30 seconds,” it measures for the full duration in each direction, so the entire test takes about twice the selected number of seconds, plus a few seconds for ping, jitter, and startup. Use “Cancel” to stop the test at any time.
Over Wi-Fi, you measure the speed reaching your device through your Wi-Fi network. That's useful for checking the Wi-Fi itself. If the result is below your plan's speed, the most common causes are using Wi-Fi instead of Ethernet, other devices or downloads using the same network during the test, or a router/modem bottleneck. To measure the actual speed of your internet connection, test with an Ethernet cable and no other network activity.
Yes, the speed test is free and works without an account or app. After the test, the result is saved at a short link shown in the address bar. Use “Share result” to copy the link or share it via WhatsApp, or use the download icon to save the result as an image.
With a command that only needs sh, curl, awk, and standard tools such as sort and sed: curl -fsSL https://zap-hosting.com/speedtest/zap-speedtest.sh | sh – it measures ping, jitter, download, and upload directly from your server to a ZAP-Hosting data center. Add options such as --location, --duration (3 to 30 seconds), and --streams (1 to 8) using sh -s --. Please don’t run it in loops or via Cron; the endpoints are public test servers.
Append --json: curl -fsSL https://zap-hosting.com/speedtest/zap-speedtest.sh | sh -s -- --json – the script outputs exactly one line of JSON with ping_ms, jitter_ms, download_mbps, upload_mbps, the location and transferred bytes, or the error and code fields if an error occurs. It also uses fixed exit codes (0 success, 1 invalid options, 2 no location reachable, 3 test failed, 4 curl or awk missing), so an AI agent with terminal access can evaluate the results directly. The location list is available at https://zap-hosting.com/speedtest/servers.json.
Any more questions?
Contact SupportVPS & Dedicated Server with first-class connectivity
The same infrastructure you just tested—for your own VPS or Dedicated Server at ZAP-Hosting.
No setup. No risk. Online in seconds.
Looking for more tools? View all network tools
