Skip to content
Beta

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

Ping
0.00 ms

Latency

Jitter
0.00 ms

Variation

Download
0.0 Mbps

Reception

Upload
0.0 Mbps

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.

RatingDownload
Excellentfrom 500 Mbps
Very good← Examplefrom 200 Mbps
Goodfrom 100 Mbps
Sufficientfrom 25 Mbps
Lowunder 25 Mbps

Guide

How to measure your internet speed

No download, app or account needed: the speed test runs right in your browser.

  1. Step 1

    Prepare your connection

    If possible, connect your device with an Ethernet cable and pause downloads and streams on the same network.

  2. 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.”

  3. 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.

  4. 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.

  5. 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.

Terminal
$ curl -fsSL https://zap-hosting.com/speedtest/zap-speedtest.sh | sh

The 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.

--json
{
  "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 }
  ]
}

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.

Prompt
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

OptionEffect
-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, --jsonOutput the result as JSON to stdout, without a progress indicator.
-q, --quietNo progress bar, just the result.
-4, -6Use only IPv4 or only IPv6.
--listList 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

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 Support
Your own server?

VPS & Dedicated Server with first-class connectivity

The same infrastructure you just tested—for your own VPS or Dedicated Server at ZAP-Hosting.

4.4/5 Trustpilot32,000+ Active serversSince 2010

No setup. No risk. Online in seconds.

Flexible TermCancel anytimeOnline in 60 seconds

Looking for more tools? View all network tools