Guide · 14 min read

How internet speed tests work

An internet speed test times data exchanged between your device and a test server. It measures download throughput, upload throughput and connection responsiveness along that path — not every website, and not your ISP's absolute maximum capacity.

What is an internet speed test?

An internet speed test measures the rate at which your device exchanges data with a designated test server. It evaluates download speed, upload speed and connection responsiveness to show how the measured network path performs.

A browser-based speed test uses your internet connection to transfer measurement data. The testing system records the amount of data transferred and the time required to complete each measurement.

The result represents performance between your device and the selected server. It does not automatically represent the maximum capacity of your ISP's access connection.

What does an internet speed test measure?

An internet speed test primarily evaluates three aspects of network performance:

MeasurementWhat it measuresUnit
Download speedRate at which your device receives dataMbps
Upload speedRate at which your device sends dataMbps
Ping (latency)Time required for a request and responseMilliseconds (ms)

Some testing services also measure jitter and packet loss.

Download speed describes the rate of incoming data. It affects activities such as downloading files, loading content and streaming video.

Upload speed describes the rate of outgoing data. It affects file uploads, video calls, cloud backups and sending large attachments.

Latency describes the delay experienced during communication between two network endpoints. Lower latency generally means faster responses.

Jitter describes variation between latency measurements. Consistent latency supports applications that depend on predictable network response times.

The Measurement Lab Network Diagnostic Tool (NDT) provides a useful example of a measurement system that records throughput, minimum round-trip time and packet loss.

Reference: Measurement Lab — NDT7 Documentation.

What is the difference between speed, bandwidth and throughput?

Bandwidth and throughput describe related but different network characteristics.

Bandwidth represents the maximum data-transfer capacity of a connection under defined conditions. Throughput represents the data-transfer rate actually achieved during a measurement.

For example, a connection with a 100 Mbps advertised plan does not necessarily deliver 100 Mbps to every test server. Network congestion, Wi-Fi conditions, device limitations and server performance can reduce measured throughput.

An internet speed test reports achieved performance rather than simply repeating your subscription's advertised bandwidth.

For a deeper explanation, read our guide to understanding Mbps and internet speed.

What happens when you click Start Test?

When you click Start Test, the browser or testing application begins communicating with a remote measurement server. The testing system establishes the required connection, transfers sample data, records performance measurements and presents the results.

The exact implementation varies between speed-testing services. However, the measurement process can be understood through seven stages.

Stage 1: The browser starts the measurement

The test begins when you select the Start Test button.

The browser executes the testing application's JavaScript and initiates the necessary network requests. These requests establish communication with the infrastructure responsible for performing the measurements.

A testing application can use different communication methods, including HTTP requests, HTTPS requests or WebSockets.

HTTP is an application-level request-and-response protocol. WebSocket provides a bidirectional communication channel between a client and a remote server.

The IETF published RFC 6455, which defines the WebSocket Protocol, in December 2011.

Reference: IETF — RFC 6455: The WebSocket Protocol.

Stage 2: The test identifies a measurement server

The speed-testing application identifies an available measurement endpoint.

Depending on the service, server discovery can use a predefined server list, geographic information, latency measurements or distributed routing infrastructure.

The chosen endpoint becomes the destination for the testing traffic.

Stage 3: The client establishes communication

The browser and measurement server establish the connection required by the selected testing method.

For a typical secure web connection, this process can involve DNS resolution, a TCP connection and a TLS handshake.

DNS resolves a hostname into a network address. TCP establishes reliable transport between the endpoints. TLS protects communication when the application uses HTTPS or secure WebSockets.

Not every testing implementation follows an identical sequence. The protocol depends on the speed-test architecture.

For example, M-Lab's NDT7 protocol uses WebSockets over TLS and a single TCP connection for its download and upload measurements.

Reference: M-Lab — NDT7 Protocol Specification.

Stage 4: The test measures connection responsiveness

The testing system records the time needed to communicate with its measurement endpoint.

This stage produces a latency-related result.

Some services use request-and-response timing, while others use browser-based timing measurements or transport-level statistics.

The exact method determines what the displayed ping value represents.

Stage 5: The server sends download data

The download test transfers measurement data from the server to your device.

The testing application tracks the amount of incoming data and the time required to receive it.

These measurements establish the achieved download throughput.

Stage 6: The client sends upload data

The upload test reverses the transfer direction.

Your browser or testing application sends sample data to the measurement server. The system records the transmitted data volume and evaluates the upload performance.

Stage 7: The system calculates and displays results

The measurement system processes its collected observations.

It calculates or derives download speed, upload speed and latency-related values according to its methodology.

The browser then displays the completed results.

How does a speed test choose a server?

A speed test chooses a measurement server to create a suitable endpoint for testing your internet connection. The selection method depends on the provider's server network and testing architecture.

The geographically closest server is not necessarily the server with the best-performing network route.

Does a speed test always choose the nearest server?

Different providers use different server-selection methods.

Some systems evaluate geographic location and latency. Others use distributed network infrastructure to route requests to an appropriate location.

For example, Cloudflare Speed Test uses its Anycast network and BGP routing to direct test traffic toward a nearby Cloudflare data centre.

Cloudflare documents that its Workers infrastructure operates across more than 330 cities worldwide.

Reference: Cloudflare — About the Speed Test.

How do BGP and Anycast influence server selection?

Border Gateway Protocol (BGP) exchanges routing information between independently operated networks.

Anycast allows the same network address to be announced from multiple locations. Network routing determines which available location receives the traffic.

This architecture helps distributed services direct users toward nearby network infrastructure.

However, geographic proximity alone does not guarantee the lowest latency or highest throughput.

Why does server location change the result?

The selected server determines the endpoint of the measured network path.

A test against a nearby server and a test against a distant server can use different routes and network interconnections.

Those paths can experience different congestion, latency and server-side limitations.

Measurement Lab also explains that its NDT measurements are conducted off-net, meaning test traffic travels beyond the user's access network toward an external measurement endpoint.

Reference: Measurement Lab — Frequently Asked Questions.

How does a speed test measure download speed?

A speed test measures download speed by transferring sample data from its measurement server to your device. It records the amount of received data and uses the elapsed measurement time to calculate throughput.

The download test evaluates the incoming direction of your internet connection.

How the download test transfers data

After establishing communication, the testing application requests measurement data from the server.

The server sends the requested payload through the network. The client receives the data and records the transfer performance.

The process can involve a single TCP connection or multiple simultaneous connections, depending on the testing methodology.

Some services use progressively larger sample files to obtain sufficient measurement data.

For example, SpeedOf.Me documents an adaptive download method that begins with a 128 KB sample and increases the sample size when the previous transfer completes in less than eight seconds.

This is a provider-specific implementation, not a universal rule for every speed test.

Reference: SpeedOf.Me — How It Works.

Why do speed tests use different download file sizes?

Small transfers can finish too quickly to provide a representative measurement of a high-speed connection.

Larger transfers provide more data over a longer measurement interval.

Adaptive testing systems increase sample sizes according to their own testing rules.

A test for a slower connection can therefore transfer less data than a test designed to measure a very fast connection.

How do multiple connections affect download testing?

A multi-connection test transfers data through several simultaneous connections.

This arrangement can help a testing system exercise more of the available network capacity, particularly when one connection cannot fully utilise a high-speed link.

A single-stream test measures performance through one connection and can reveal limitations affecting an individual data flow.

The differences between these methods are important when interpreting results. We explain them further in the section about why speed tests disagree.

How does a speed test measure upload speed?

An upload speed test measures how quickly your device sends sample data to a remote measurement server. The testing application records the outgoing data transfer and calculates the achieved upload throughput.

Upload testing evaluates the outgoing direction of your internet connection.

How the client sends test data to the server

The client establishes the upload measurement and begins transmitting test data.

The testing server receives the incoming payload while the measurement system records the transfer performance.

The browser or testing application reports the resulting upload measurement according to its implementation.

For example, M-Lab's NDT7 protocol defines separate upload and download tests using WebSockets over TLS and one TCP connection.

Reference: M-Lab — NDT7 Protocol.

How upload throughput is calculated

The simplified upload calculation uses the same basic data-rate relationship as download testing.

Suppose your device sends 50 megabytes of measurement data in five seconds.

The transferred data equals 400 megabits.

Dividing 400 megabits by five seconds produces an upload throughput of 80 Mbps.

Actual testing systems can use additional measurement rules, timestamps and sampling procedures.

Why upload results differ from download results

Download and upload traffic travel in opposite directions.

Your internet plan can provide different capacities for each direction. The network route, available resources and congestion conditions can also differ.

For example, an asymmetric broadband package can offer substantially higher download capacity than upload capacity.

A lower upload result does not automatically indicate that the download measurement is inaccurate.

How does a speed test measure ping and jitter?

A speed test measures latency by recording how long communication takes between the client and a remote endpoint. It reports ping in milliseconds, while jitter describes variation between latency measurements.

These measurements describe connection responsiveness rather than data-transfer capacity.

How is ping measured?

A basic ping measurement records the elapsed time between sending a request and receiving its response.

This duration is commonly described as round-trip time (RTT).

The reported value depends on the testing protocol and the particular endpoint being measured.

For example, SpeedOf.Me documents ten latency samples and reports the lowest measured value. Cloudflare uses browser time-to-first-byte for its own ping measurement.

These are different implementation choices.

References: SpeedOf.Me — Latency and Jitter and Cloudflare — Speed Test Methodology.

What is round-trip time?

Round-trip time is the elapsed time between sending information and receiving the corresponding response.

It includes the delays experienced along the request and response paths.

A route with additional network hops, congestion or long-distance transmission can increase round-trip time.

How does a speed test calculate jitter?

Jitter describes the variation between latency observations.

For example, consider these three consecutive ping measurements:

SamplePing
120 ms
225 ms
321 ms

The measurements change between samples, showing variation in response time.

Different providers calculate and present jitter differently. Cloudflare, for example, defines its jitter calculation using the average difference between consecutive ping measurements.

Lower jitter generally represents more consistent latency.

For a deeper explanation of network responsiveness, read our guide to latency vs bandwidth.

How does a speed test calculate Mbps?

A speed test calculates throughput by comparing the volume of transferred data with the time required to transfer it. The resulting data rate is commonly displayed in megabits per second (Mbps).

The simplified formula is:

Mbps = (Transferred Bytes × 8) ÷ (Elapsed Seconds × 1,000,000)

The calculation converts bytes into bits and divides the resulting megabits by elapsed time.

What does Mbps mean in a speed test?

Mbps means megabits per second.

One byte contains eight bits, so a measurement of 100 Mbps represents 12.5 megabytes per second under an ideal decimal-unit conversion.

Internet plans commonly advertise speeds in Mbps, while file sizes and many download interfaces display megabytes (MB).

Example: calculating speed from a data transfer

Suppose a test receives 100 MB of data in 10 seconds.

  1. Convert 100 MB into megabits: 100 × 8 = 800 megabits.
  2. Divide the data volume by the transfer time: 800 ÷ 10.
  3. The calculated throughput is 80 Mbps.
VariableValue
Data transferred100 MB
Time taken10 seconds
Total data800 megabits
Calculated throughput80 Mbps

This is a simplified decimal-unit example. Real measurement implementations can use different timing boundaries, samples and aggregation methods.

Why does download speed in MB/s differ from Mbps?

Mbps and MB/s represent different units.

Mbps means megabits per second. MB/s means megabytes per second.

Because eight bits equal one byte, divide Mbps by eight to estimate the corresponding MB/s value.

For example, a 100 Mbps result is equivalent to approximately 12.5 MB/s before transfer overhead.

Read our detailed guide to understanding Mbps.

Why do different speed tests show different results?

Different speed tests show different results because they use different servers, network paths, connection configurations, sample sizes and calculation methods.

An internet speed test measures performance between two endpoints. Changing either endpoint or the measurement configuration can change the result.

Do speed tests use the same measurement method?

No. Speed-testing providers implement their own measurement systems.

Some use multiple connections, while others use a single TCP connection. Some use adaptive sample sizes, and others apply different sampling and aggregation methods.

A 2023 study by Kyle MacMillan, Tarun Mangla, James Saxon, Nicole P. Marwell and Nick Feamster compared Ookla Speedtest and M-Lab NDT7.

The researchers collected more than 80,000 pairs of measurements across nine months and 126 households. Their controlled experiments found similar speeds under most tested conditions, with differences under high-latency conditions.

The study also identified variability in test results and server-performance issues.

Reference: MacMillan et al. — A Comparative Analysis of Ookla Speedtest and NDT7, ACM, 2023.

Single-stream vs multi-stream speed tests

The number of connections used during testing is one important methodological difference.

FeatureSingle-stream testMulti-stream test
ConnectionsOneMultiple
Data transferOne streamParallel streams
Measurement focusIndividual connection performanceCombined transfer capacity
ExampleM-Lab NDT7Ookla's adaptive multi-connection approach
Main considerationOne connection can become a limitationMultiple connections can utilise more aggregate capacity

M-Lab explicitly documents NDT7 as a single-TCP-connection measurement protocol.

Its FAQ explains that neither single-stream nor multi-stream testing is universally right or wrong. Single-stream testing can help diagnose certain network issues, while multiple connections assess aggregate performance differently.

Reference: M-Lab — Why Speed-Test Results Differ.

How do server location and network routing change results?

The server selected by each testing provider can affect the measured network path.

One service might connect to a server inside the ISP's network, while another connects to an external data centre.

The second test can include additional network interconnections, transit networks and potential bottlenecks.

Different routes also experience different congestion conditions.

How do sample sizes and calculation methods change results?

Speed-testing services collect and process measurements differently.

For example:

  • SpeedOf.Me uses progressively larger samples and documents its adaptive eight-second sample condition.
  • Cloudflare documents a 90th-percentile throughput calculation.
  • M-Lab NDT7 records TCP statistics and provides a server-calculated throughput field derived from TCP_INFO snapshots.

These differences affect how the reported result represents the underlying data transfer.

References: SpeedOf.Me methodology, Cloudflare methodology, and M-Lab NDT7 measurements.

How have internet speed-test methods evolved?

Internet speed-testing methods have developed alongside networking protocols and browser technologies.

Measurement Lab documents the development of its Network Diagnostic Tool and its transition from the original web100 implementation to NDT5 and NDT7.

The WebSocket Protocol was standardised in December 2011 through IETF RFC 6455.

NDT7 data collection began on February 18, 2020, using TCP_INFO for its TCP measurement metrics.

These milestones describe particular standards and measurement implementations, not the invention of internet speed testing as a whole.

References: IETF RFC 6455 and M-Lab NDT7 Documentation.

How accurate are internet speed tests?

Internet speed tests provide useful measurements of end-to-end network performance. Their accuracy depends on the client device, network conditions, server capacity, routing and testing methodology.

A test can accurately report the performance of its measured connection while still failing to represent your ISP's maximum access-link capacity.

How does Wi-Fi affect a speed test?

Wi-Fi introduces a wireless segment between your device and router.

Signal strength, physical distance, interference, network congestion and router capabilities can affect the performance of this segment.

If Wi-Fi becomes the bottleneck, the speed test measures the slower end-to-end path rather than the maximum capacity of your broadband connection.

The University of Chicago's 2022 research recommends recording whether a device uses Wi-Fi or a wired connection when collecting speed-test measurements.

Can your device or browser limit the results?

Your device participates in the measurement process.

Its CPU, network interface, operating system and browser execution environment can affect the amount of data it processes.

The University of Chicago study identifies client hardware as a potential bottleneck, particularly when measuring high-speed connections.

Browser-based speed tests can also use browser performance interfaces to collect resource timing information.

The W3C Resource Timing specification documents browser interfaces for accessing resource timing details. Some cross-origin timing information remains subject to browser security restrictions.

References: University of Chicago — Best Practices for Collecting Speed Test Data, 2022 and W3C — Resource Timing.

How do server load and network congestion affect results?

Network congestion reduces the capacity available for data transfer along an affected network segment.

A testing server can also experience its own processing or network limitations.

A slow result therefore does not automatically prove that the ISP access connection is responsible.

Why do repeated tests produce different results?

Internet routing and network conditions change over time.

Background downloads, other connected devices, wireless interference and temporary congestion can affect each measurement.

M-Lab explains that tests run at different times can follow different network paths and connect to different servers.

Repeated measurements under similar conditions provide a more useful picture of connection performance than one isolated result.

How much data does an internet speed test use?

An internet speed test uses real network data during its download and upload measurements. The total volume depends on the provider's sample sizes, test duration and measurement design.

A small test might transfer relatively little data. A high-speed connection can require larger transfers to produce sufficient measurement samples.

Does a speed test use real internet data?

Yes. A browser-based speed test exchanges actual data between your device and the measurement server.

The test data is usually generated specifically for measurement rather than representing a personal file or your browsing activity.

Why does data usage depend on internet speed?

Adaptive testing methods change sample sizes according to connection performance.

For example, SpeedOf.Me documents sample sizes ranging from 128 KB to 128 MB.

Its FAQ states that a fast test can use up to about 256 MB across testing, depending on the connection and testing process.

These figures describe SpeedOf.Me, not a universal data-usage limit for every speed test.

Reference: SpeedOf.Me — Frequently Asked Questions.

Can a speed test use mobile data?

Yes. If your device uses a mobile data connection, the test transfers data through that connection.

Users with metered mobile packages should consider the test's data usage before running repeated measurements.

What does an internet speed test not measure?

An internet speed test measures performance between a client and a selected server. It does not directly measure every aspect of your connection or guarantee the same performance across all internet services.

Does a speed test measure the maximum speed of your ISP plan?

No. A result represents achieved performance along the specific network path used for testing.

The University of Chicago research explains that a test measures the bottleneck link along the end-to-end path. That bottleneck can exist inside the home Wi-Fi network, within the ISP or beyond the ISP at an interconnection or near the testing server.

A result below your advertised package speed therefore requires further investigation.

Does a speed test show the speed of every website?

No. A speed test connects to a designated measurement endpoint.

Different websites use different servers, CDNs, routing arrangements and network connections.

Your speed test result cannot guarantee identical download performance from every website.

Can a speed test identify every network problem?

A speed test can reveal unusual throughput or latency, but it cannot independently identify every possible cause.

A low download result can indicate a bottleneck. Additional measurements are needed to determine whether the problem comes from Wi-Fi, the router, ISP connectivity, network routing or the remote server.

Does a high download result mean your internet is perfect?

No. Download throughput is only one aspect of network performance.

Latency, jitter and packet loss also affect communication quality.

For example, online gaming and real-time video calls depend on responsive and consistent connections, not simply high download throughput.

Related reading: bufferbloat explained and internet for gaming.

How can you get a reliable internet speed test result?

You can improve the reliability of speed-test comparisons by controlling your testing environment and repeating measurements under consistent conditions.

Use these practical steps:

  1. Connect through Ethernet when possible. A wired connection reduces the influence of wireless conditions when evaluating broadband performance.
  2. Stop background transfers. Downloads, cloud backups and other active transfers consume available network capacity.
  3. Use the same device. Different devices have different hardware and browser capabilities.
  4. Keep testing conditions consistent. Record the connection type and selected server when comparing results.
  5. Repeat the measurement. Run multiple tests to distinguish temporary changes from persistent performance problems.
  6. Compare different testing services carefully. Different tools measure different network paths and use different methodologies.
  7. Test during different periods. Compare results during busy and quiet periods to identify possible congestion patterns.

The University of Chicago's research recommends recording client-server latency, client hardware and whether a test uses Wi-Fi or a wired connection.

The research also discusses paired testing, where two testing services run in succession, as a way to reduce the impact of some unobservable conditions.

Reference: University of Chicago — Best Practices for Collecting Speed Test Data.

For a practical connection check, run our internet speed test and compare the results under consistent conditions.

Common misconceptions about internet speed tests

Internet speed tests are useful diagnostic tools, but several common assumptions lead to incorrect interpretations.

MisconceptionWhat actually happens
The nearest server always gives the best resultNetwork routing and server responsiveness also affect the measurement
Multi-stream testing is always betterSingle-stream and multi-stream tests answer different measurement questions
High download speed guarantees good internetLatency, jitter and packet loss also affect performance
Every speed test uses the same calculationTesting methods, sampling and aggregation differ
Every slow result is the ISP's faultThe bottleneck can occur on different parts of the network path
One result proves maximum ISP speedA test measures the connection to its selected server under specific conditions
Browser-based testing is always inaccurateBrowser capabilities affect measurements, but a properly implemented browser test can measure network throughput

A reliable interpretation considers the testing method, measurement endpoint, device and network conditions together.

Questions

How does an internet speed test work?
An internet speed test exchanges measurement data between your device and a remote server. It calculates download and upload throughput and measures connection responsiveness using its selected latency method.
How does a speed test measure download speed?
A speed test measures download speed by transferring data from its server to your device. It records the data received and the time taken to calculate the achieved download throughput.
How does a speed test measure upload speed?
An upload test measures the rate at which your device sends data to a measurement server. The testing system calculates the upload rate using its recorded transfer volume and measurement duration.
How does a speed test measure ping?
A speed test measures ping by recording the time required for communication with a remote endpoint. Different providers use different timing methods, so reported latency values can vary.
Why do different speed tests show different results?
Different speed tests use different servers, network routes, connection configurations and calculation methods. These differences can produce different download, upload and latency results on the same internet connection.
Are internet speed tests accurate?
Internet speed tests provide useful measurements of performance between a device and its selected server. Device limitations, Wi-Fi conditions, congestion and server performance can influence the resulting measurements.
How much data does an internet speed test use?
An internet speed test transfers data during download and upload measurements. The total usage depends on the provider's sample sizes, connection speed and testing duration.
Does a speed test show my ISP's maximum internet speed?
An internet speed test measures achieved performance along a specific client-to-server network path. It does not automatically establish the maximum capacity of your ISP's access connection.