Website speed test: TTFB, download and headers
Measure how fast any website responds from our edge. TTFB, download time, page size, response headers and an A-F grade. No sign-up, no ads blocking the input.
- Server-side timing, consistent results
- TTFB and download breakdown
- Full response headers
- A-F grade with score
Test any website from our edge
Enter a URL to see TTFB, download time, response size, headers and a letter grade. All timing runs server-side, so the numbers are consistent regardless of your connection.
- 100% Free
- Server-side Timing
- TTFB + Download
- A-F Grade
- Full Headers
- No Sign-up
What every metric means
What good and bad look like for each metric the tool reports.
| Metric | What it measures | Good | Needs work |
|---|---|---|---|
| TTFB | Time from request to first byte of response | Under 300 ms | Over 800 ms |
| Download | Time to transfer the full response body | Under 100 ms for HTML | Over 500 ms |
| Total | TTFB plus download, wall-clock | Under 500 ms | Over 2 s |
| Page size | Size of the initial HTML response | Under 100 KB | Over 500 KB |
| Status | HTTP status code of the response | 200 | 4xx / 5xx |
| Compression | Whether content-encoding is gzip, br or zstd | gzip / br / zstd | Missing or identity |
| Cache-Control | How the response may be cached | max-age with a value | no-store on static assets |
| Redirects | Whether the request was redirected | None, or one hop | Chained redirects |
Why this is a useful speed test
Most speed test sites run in the browser, so results vary by your connection. This one runs server-side and shows the raw truth.
| Feature | TToolDeck | Typical speed test sites | Lighthouse / WebPageTest |
|---|---|---|---|
| No sign-up or email | Yes | Partial | No |
| No ads blocking the input | Yes | No | Partial |
| TTFB measured (server-side) | Yes | Partial | Yes |
| Download time and content size | Yes | Partial | Yes |
| A-F performance grade | Yes | Yes | Partial |
| Full response headers viewer | Yes | No | Partial |
| Copy headers with one tap | Yes | No | No |
| No trace of the URL after test | Yes | Partial | Yes |
| Recent tests saved locally | Yes | No | Partial |
| Works without installing anything | Yes | Yes | Partial |
Comparison reflects publicly available information at the time of writing. Features may change. Representative examples of common patterns.
More free network tools
Free browser-based network tools. Nothing uploaded, ever.
IP Address Lookup
Geolocation, ISP, timezone and coordinates
DNS Lookup
Query A, AAAA, MX, TXT and other records
Game Ping Test
Real ping to PUBG, Valorant, CS2 and 16 more
Website Speed Test
You are hereTTFB, download time and headers for any URL
SSL Certificate Checker
Check any HTTPS certificate for expiry
QR Code Generator
QR codes for URLs, WiFi, WhatsApp and more
Password Generator
Strong random passwords on your device
JSON Formatter
Format, validate and convert JSON
Text to Speech
Turn any text into spoken audio
How it works
- 1
Enter a URL
Type any public URL, with or without https://. The tool normalises it and rejects local or private addresses for safety.
- 2
The test runs from our edge
A real HTTP request is made from a Node.js runtime. DNS, TCP, TLS, TTFB, download and headers are all measured on the way through.
- 3
Read the score and breakdown
See a letter grade, TTFB and download time in milliseconds, page size, response headers, and a phase-by-phase timeline.
Everything you get for free
Server-side timing
Every measurement runs from a Node.js runtime, not from your browser. That means the numbers reflect server performance, not your home WiFi. This is the same TTFB a first-time visitor in that region would see. Repeatable and consistent.
Time To First Byte (TTFB)
The single most important server metric. Measures the gap between the request leaving the runtime and the first byte of the response arriving. Under 300 ms is fast; over 800 ms is where users start to feel it.
Download time and page size
After TTFB, the second half of the story: how long the response body took to transfer, and how big it was. Uncompressed HTML and multi-megabyte pages show up here immediately.
A-F performance grade
A weighted score that blends total time and page size into one number and one letter. Green A for fast and light, red F for slow and heavy. Useful for a quick gut-check without parsing numbers.
Full response header viewer
Every header the server sent, in a scrollable list with copy-all. Spot missing security headers, missing Cache-Control, odd Server values, or a redirect that should not be happening.
Redirect and protocol report
See whether the URL was redirected (http → https, www → apex, or something less expected) and which protocol actually served the response. Catches sloppy redirect chains before they cost you ranking.
Response status and content type
A 200 with text/html is what you expect. A 200 with application/octet-stream is usually a misconfiguration. A 403 or 503 from a security layer means a real user would see the same. The tool reports exactly what the server returned.
Recent tests stored locally
The last five URLs you tested are kept in your browser (localStorage only). Click any one to re-run. Perfect for tracking a fix over the course of an afternoon without retyping the URL.
Safe and SSRF-guarded
The API route refuses localhost, 127.0.0.1, .local, and every private IP range. No one can trick it into probing your internal network. The query URL is used once, then discarded. Nothing is stored server-side.
What people use it for
Check your own site after a deploy
After every deploy, run a speed test on the homepage and one key landing page. A sudden jump in TTFB usually means a new plugin, a slow DB query, or a misconfigured CDN cache, caught before users notice.
Compare hosting providers
Testing two hosts from the same runtime removes your personal connection from the equation. Run the same page on both, compare TTFB and page size side by side, and see which one actually performs better for real visitors.
Audit a competitor's site
See whether a competitor is serving 40 KB of gzipped HTML in 200 ms, or 400 KB of uncompressed markup in 1.5 s. The comparison is often more revealing than any feature matrix.
Debug slow pages before SEO damage
Google uses Core Web Vitals as a ranking signal, and TTFB is a component of it. A tool that flags a 1.5 s TTFB on a key URL gives you something concrete to fix before rankings slip.
Verify a redirect chain
If http → https and www → apex are not handled in a single hop, every visit pays the extra redirect cost. The tool reports the final URL and whether the request was redirected. It is a quick way to catch chained redirects.
Inspect headers for security and caching
The full response header list shows whether Strict-Transport-Security, X-Content-Type-Options, and a sensible Cache-Control are present. A quick audit for the most common header misconfigurations.
Questions people ask
How does this website speed test work?
When you enter a URL, the tool makes a real HTTP GET request from a Node.js runtime and measures the timing of every phase: DNS resolution, TCP and TLS handshake, time to first byte (TTFB), and body download. It also captures the response status, headers, and body size. Everything runs server-side, so the numbers are consistent regardless of your home connection.
Why measure from a server instead of from my browser?
A browser-based test measures your connection, not the server's. If you are on slow WiFi, every site looks slow; if you are on a gigabit line, every site looks fast. Running the test from a fixed runtime isolates the server side, which is what you are trying to fix. It is the same page seen by every first-time visitor regardless of where they are.
What is TTFB?
TTFB stands for Time To First Byte, the gap between the client sending the request and the server sending the first byte of the response. It is the single most important server-side timing metric. It includes DNS lookup, TCP handshake, TLS handshake, and the time the server took to generate the response. Under 300 ms is fast, 300-800 ms is acceptable, over 800 ms is where users start to notice delay.
What is a good score?
The score blends total time and page size into a 0-100 number and an A-F grade. A is under roughly 300 ms and under 200 KB. C is around 700 ms and 350 KB. F is anything over 1.5 s or over 700 KB of initial HTML. Aim for A or B. The score is a gut-check, not an absolute ranking algorithm. Use the individual timings for actionable fixes.
Does this test load images, CSS, and JavaScript?
No. This measures the initial HTML document only. That is deliberate: a full page-load test with all assets is a much larger undertaking and depends heavily on the client (browser caching, connection reuse, HTTP/2 multiplexing). What you get here is a clean view of "how fast does the HTML itself arrive", the foundation of every other metric. For full page rendering, use Lighthouse or WebPageTest.
Why is my TTFB so much higher here than on my laptop?
Three reasons. First, the runtime may be geographically distant from your origin server, and physics imposes a floor on round-trip time. Second, the tool sends Cache-Control: no-cache, so you always see the uncached response. Third, it is not using a warm HTTP/2 connection or a CDN edge cache the way a browser on a repeat visit would. If you want to see the cached path, run the test twice. The second result will usually be faster if a CDN is doing its job.
Why do I get a different result each time?
Network timing is inherently noisy. Server load, intermediate routing, and the state of the CDN edge all change between requests. Run the test three to five times and look at the median, not a single sample. If the results span more than 2× from lowest to highest, there is a real stability problem worth investigating.
What response headers should I look for?
Four to check on every site: (1) content-encoding should be gzip, br, or zstd, because no compression means a bigger download. (2) cache-control should have max-age for static assets. (3) strict-transport-security should be present on any HTTPS site. (4) server leaks the underlying software, which is useful for debugging but a consideration for security. The full header list is in the "Response headers" card after each test.
Does this test work on any URL?
Any publicly reachable HTTP or HTTPS URL. The API refuses localhost, 127.0.0.1, .local hostnames, and every private IP range (10.x, 192.168.x, 172.16-31.x, 169.254.x) to prevent the tool being used to probe internal networks. If your site is behind a VPN or firewall, the test cannot reach it. You will get a clear error.
Is the URL I test logged?
No. The URL is passed to the API route, used once to make the request, and discarded. Nothing is stored on our servers. Recent tests are kept in your browser's localStorage only, visible in the "Recent" row after you have tested a few URLs. Clear site data to reset.
Can I run tests in parallel?
No, and you would not want to. Running tests in parallel from the same runtime would pollute the timings, because every request would compete for CPU and network. Run them one at a time for clean, comparable numbers.
How does this compare to PageSpeed Insights or GTmetrix?
Those tools render the page in a headless browser, run the JavaScript, load every asset, and produce a Lighthouse score across many categories. This tool does not. It measures the very first network hop and stops. That is why it completes in under two seconds instead of thirty, and why the numbers are crisper. Use this for the server-side half of the story, and Lighthouse for the client-side half.
Is it free, and can I use it on client sites?
Completely free for personal and commercial use. No sign-up, no email, no ads blocking the input, no daily limit. Everything runs from a stateless serverless function with no persistent storage. Safe to use on any public URL, including sites you do not own. The tool only makes a normal GET request that any browser would.
URLs are not logged
The URL you test is passed to a stateless serverless function, used once to make the HTTP request, and discarded immediately. Nothing is stored server-side. Recent tests are kept in your browser's localStorage only. See why ToolDeck is different.