AnyTool
Your files never leave your device. All processing happens locally in your browser.

How can I test my internet speed in the browser without uploading my data to a third-party server?

Open AnyTool Internet Speed Test and press Start. It measures latency and download speed against this site’s own server only — no third-party speed-test servers — and uploads nothing about you. First it times a series of tiny same-origin requests (this site’s favicon, cache-busted) to report your ping (median round-trip in milliseconds) and jitter (how much that ping varies). Then it streams a few of this site’s own static images, measuring bytes over time, to estimate your download speed in Mbps on an animated gauge that climbs live. It also reads your browser’s own connection estimate from the Network Information API (effective type like 4G, estimated downlink, round-trip time and data-saver) with zero network requests, on Chromium browsers. Be honest with the result: this is a privacy-first, single-connection, single-server estimate — not a substitute for a full multi-server test like Speedtest or Fast.com — and upload speed is not measured, because that would require sending your data to a server.

  • Ping (median latency) and jitter from tiny same-origin requests to this site
  • Download speed in Mbps by streaming this site’s own static assets — live animated gauge
  • Browser connection estimate (downlink, effectiveType, rtt, saveData) — zero network calls
  • Upload is NOT measured — that would need a server to receive your data
  • 100% client-side — no third-party servers, nothing about you is uploaded

What is

Internet Speed Test

An internet speed test reports how fast your connection is — typically download speed (Mbps), upload speed (Mbps), ping/latency (ms) and jitter (ms). A privacy-first, client-side version cannot run a true multi-server throughput test, because that requires third-party servers and uploading data. Instead it measures what it honestly can without any third party: latency and jitter by timing small same-origin requests (to the host you are already on) with performance.now(); download throughput by streaming the site’s own static assets (cache-busted, no-store) and dividing bits by seconds to get Mbps; and the browser’s own connection estimate from the Network Information API (navigator.connection — downlink, effectiveType, rtt, saveData), which is a zero-network hint available only on Chromium browsers. Upload speed is omitted because timing an upload requires a server endpoint to receive the bytes. The result is a single-connection, single-server estimate, not a replacement for Speedtest or Fast.com.

Generators

Related terms

Download speedLatency / pingJitterMbpsNetwork Information APInavigator.connectiondownlinkeffectiveTypeRound-trip timeSame-origin request

Frequently Asked Questions

No. It only talks to this site’s own server and uploads nothing about you. The latency and download tests fetch this site’s own static files, and the browser estimate is read with zero network requests.

The tool is 100% client-side and uses no third-party servers or CDNs. To measure latency and jitter it times tiny requests to this site’s own favicon (same-origin, cache-busted, no-store). To estimate download speed it streams a few of this site’s own static images and measures bytes over time. Your browser’s connection estimate is read from navigator.connection with no network request at all. Nothing about you is uploaded, logged or stored — there is no account and no server-side processing of your data, and results live only on the page until you re-test or leave. The only bytes that move are dummy downloads of the site’s own public assets, from the host you are already on.

Because measuring upload requires a server that receives your bytes and times them. We deliberately have no such endpoint and never upload your data, so an honest upload number isn’t possible here.

An upload test works by sending data to a server, which measures how long the bytes take to arrive and reports the throughput back. That fundamentally requires a third-party server endpoint and uploading data — exactly what a privacy-first, client-side tool avoids. Rather than fake a number, the tool clearly marks upload as not measured. If you specifically need upload speed, a full multi-server tool like Speedtest or Fast.com is the right choice; just be aware those send test data to their servers.

Treat it as a rough single-server estimate, not a full test. It uses one connection to this one server, so it can read lower than a multi-server, multi-connection tool — especially on very fast links.

Real speed tests like Speedtest open multiple parallel connections to geographically distributed servers to approximate the aggregate throughput your line can sustain. This tool, by design, talks only to this site’s single server over essentially one connection and downloads modestly-sized static assets, so on a fast connection it may not saturate your line and can under-report download speed. It is most useful as a quick, private sanity check of latency, jitter and rough download speed, and as a way to see your browser’s own connection estimate. Results also depend on this server’s distance and load, your browser cache, and whatever else your network is doing, so run it a few times and read the numbers as a ballpark.

It is the Network Information API (navigator.connection) — a downlink/effectiveType/rtt/saveData hint your browser already keeps with no network call. It is Chromium-only, so Firefox and Safari don’t expose it.

The Network Information API lets a page read the browser’s own rolling estimate of the connection: downlink (an effective bandwidth estimate in Mbps, rounded), effectiveType (a class like slow-2g, 2g, 3g or 4g derived from recent round-trip time and downlink), rtt (estimated round-trip time in milliseconds, rounded) and saveData (whether reduced-data mode is on). These are read instantly with zero network requests. The catch is support: the API is implemented only in Chromium-based browsers (Chrome, Edge, Opera, Samsung Internet), not Firefox or Safari, so on those browsers the estimate card is unavailable — but the measured latency, jitter and download tests still run.

Detailed Explanation

Methodology

How the Internet Speed Test Measures Latency, Jitter and Download

AnyTool Internet Speed Test runs entirely in the browser and talks to no third-party server. To measure latency it times a series of small same-origin requests — fetching this site’s own favicon, cache-busted with a query string and cache: ’no-store’ — with performance.now(), discarding a warm-up request and reporting the median round-trip (ping) and the standard deviation across samples (jitter). To estimate download throughput it fetches a few of this site’s own static image assets (also same-origin, cache-busted, no-store), reads the response body as a stream and sums the bytes as chunks arrive, dividing bits by seconds to compute Mbps; the gauge updates live as bytes stream in and the test runs for at least a short minimum window so the figure stabilises. It also reads the browser’s own connection estimate from the Network Information API (navigator.connection) with zero network requests. Upload speed is intentionally omitted because timing an upload requires a server endpoint to receive and time the bytes, which a privacy-first tool deliberately does not provide.

  • Latency = median of timed same-origin favicon fetches (cache-busted, no-store)
  • Jitter = standard deviation of those latency samples
  • Download = streamed bytes of this site’s own assets ÷ seconds → Mbps, live gauge
  • Browser estimate read from navigator.connection with no network request
  • Upload omitted by design — it would need a server to receive your data
How It Works

The Network Information API Connection Estimate

Alongside the live measurements, the tool surfaces the browser’s own connection estimate from navigator.connection, read instantly with no network call. It shows downlink (an effective bandwidth estimate in Mbps, rounded to the nearest 25 kbps for privacy), effectiveType (a network class — slow-2g, 2g, 3g or 4g — derived from recently observed round-trip time and downlink), rtt (estimated round-trip time in milliseconds, rounded to the nearest 25 ms) and saveData (whether the user has enabled reduced-data mode). These are rolling estimates the browser already maintains, useful as a quick hint rather than a precise measurement. The API is Chromium-only — implemented in Chrome, Edge, Opera and Samsung Internet but not Firefox or Safari — so on unsupported browsers the estimate card explains it is unavailable while the measured latency, jitter and download tests still run.

  • navigator.connection exposes downlink, effectiveType, rtt and saveData
  • Values are rounded estimates the browser keeps — read with zero network calls
  • effectiveType classes the line as slow-2g / 2g / 3g / 4g
  • Chromium-only (Chrome, Edge, Opera, Samsung Internet); absent in Firefox/Safari
  • The tool listens for connection changes and updates the estimate live
Limitations

Privacy, Honesty and the Single-Server Limitation

Because the tool uses no third-party servers or CDNs and uploads nothing about you, it cannot run a true multi-server throughput test — and it says so plainly. Real tools like Speedtest and Fast.com open multiple parallel connections to geographically distributed servers to approximate the aggregate bandwidth your line can sustain; this tool talks only to this site’s single server over essentially one connection and downloads modestly-sized static assets, so on a fast link it may not saturate your connection and can under-report download speed. The result is best read as a private, rough single-connection, single-server indicator of latency, jitter and download — not a replacement for a full speed test. Upload speed is not measured at all, because that requires a server to receive your bytes. And the numbers depend on this server’s distance and load, your browser cache, and whatever else your network is doing, so running the test a few times gives a better picture. Everything is read in your browser; nothing is uploaded, logged or stored.

Internet Speed Test: in-browser, privacy-first (AnyTool) vs typical online speed tests
CapabilityAnyToolTypical speed tests
Servers usedThis site’s server onlyThird-party multi-server network
ConnectionsSingle connectionMultiple parallel connections
Latency & jitterMeasured (same-origin)Measured
Download speedEstimate (single server)Saturating multi-server
Upload speedNot measured (no server)Measured (data sent to server)
Browser estimatenavigator.connection shownRarely shown
Data uploaded about youNoneTest data sent to servers

AnyTool measures latency, jitter and download against this site’s own server with no third-party CDN and uploads nothing; it is an honest single-connection, single-server estimate, not a substitute for a full multi-server test, and it does not measure upload speed.