Chrome extension · free · by dfacto.ai
The page loaded. Here is how long it took.
Tock times every navigation from the moment the request leaves to the moment the last resource lands, and puts the running number on your toolbar — coloured green through dark red so a slow load is something you see rather than something you read.
Free, and complete. No account, no telemetry, and no permission to read any page you visit.
This page, on your connection
—
on your toolbar it reads 0.0s
How it measures
Four moments, three gaps, one number
Tock does not estimate and does not sample. It reads the four navigation events the
browser reports to an extension and subtracts. The last of them is the same instant the
page's own load event fires, which is the definition of "loaded" used
everywhere on this page.
The request is about to leave
onBeforeNavigate — the clock starts here, before DNS, before the
connection, before anything has been sent. The badge starts counting immediately,
so a page that is still resolving is visibly still resolving.
The first bytes came back
onCommitted — the browser has a response and has decided to render
it. Everything before this point is your network: lookup, handshake, and the
server's own thinking time.
The document is parsed
onDOMContentLoaded — HTML read, blocking scripts and stylesheets
applied. This gap is the site's own code, not your connection.
Everything it referenced has arrived
onCompleted — images, fonts, iframes, the lot. The number that ends
up on the badge is this minus the first.
Ten updates a second
The badge shows tenths and repaints at 10 Hz; the popup shows milliseconds and repaints at your display's frame rate. Two clocks, because a millisecond counter that moves ten times a second looks broken.
Colour on a stated axis
The scale is logarithmic — every tick is a doubling — and interpolated in OKLCH, so the middle of it stays a real colour instead of the grey-olive an sRGB blend between green and red passes through.
Medians, never means
One cold-cache load at 30 seconds moves a mean of ten samples by three seconds and moves the median not at all. Every figure Tock reports is a median.
With and without
Did that network change actually help?
You switch something on — Linkfuse, a different DNS resolver, a VPN, a new router — and the internet feels faster. Feeling faster is not evidence. Flip Tock's switch to say which side you are on, browse normally, and it keeps the two populations apart.
Linkfuse on
0.94 s
12 loads
Linkfuse off
1.36 s
18 loads
Verdict
−31%
6 sites, both ways
Only sites measured both ways count
Browse a text forum with the switch on and a photo gallery with it off, and a naive comparison will report a triumph. Tock throws away every origin it has not seen in both modes, and tells you how many survived — because that number is what the verdict rests on.
Five each way, minimum
Below that it shows the counts and refuses the headline. A percentage off two loads is not a small result, it is a wrong one.
Alt+Shift+T
The switch has a keyboard shortcut, because the actual procedure is on, reload, off, reload — and opening a popup between every leg is how half your samples end up mislabelled.
Built alongside Linkfuse, which spreads your traffic across every connection you have. Tock is how you check it worked — and it is just as happy proving that it did not.
What it can't see
Two permissions, and neither one reads a page
Most timing extensions inject a script into every site you open, which needs access to
all your data on all websites. Tock does not, because the four events it needs are
reported to the extension directly. It asks for webNavigation and
storage, and that is the entire list.
No code on your pages
Nothing is injected into any site. There is no content script in the extension at all — check the manifest, it is nineteen lines.
No network requests
Tock never calls out. Not for licensing, not for analytics, not for a version check. Measurements stay in your browser's own storage.
Origins, not URLs
A sample records https://example.com and a duration. The path, the
query string and the page content never enter the record.
Pricing
Free, and that is the whole product today
Everything described on this page is in the free version, permanently. A paid tier is planned for the work that has not been built yet; it is listed here so nobody is surprised later, and it is not for sale.
Free
$0
forever · no account
- Live badge with the full colour scale
- Network, document and resource breakdown
- With-and-without comparison, site-matched
- Last 600 loads kept locally
Pro
$12/yr
planned · or $29 once · not for sale
- More than two modes, so you can label any change
- Per-site tables and CSV export
- A warning when a site you use gets slower
- History beyond 600 loads
Install
Load it unpacked, today
Tock is not in the Chrome Web Store yet, and this page will link it the day it is. Until then it loads unpacked in about thirty seconds and is the same build — it works on Chrome, Edge, Brave, Opera and Arc.
Download the folder
Grab the latest build from the repository and unzip it anywhere.
Open your extensions page
chrome://extensions — then turn on Developer mode, top right.
Load unpacked, pick the folder
Choose the extension directory. Pin Tock to the toolbar and open any
site — the badge starts counting on the next navigation.
Questions
The ones worth answering
Is this the same number DevTools shows?+
It is the same event. DevTools' "Load" figure and Tock's total both end at the document's load event. They can differ by a few milliseconds because Tock starts fractionally earlier — before the request is issued rather than at navigation start — and because having DevTools open changes what it is measuring.
Does it slow my browsing down?+
It cannot get in the way: nothing is injected into a page and no request is intercepted. While a page is loading the service worker repaints four characters ten times a second, and when nothing is loading it does nothing and Chrome unloads it.
Why does the switch say "Linkfuse" if I don't use it?+
Because that is what it was built for, and naming it honestly is better than a vague "Mode A". It labels whatever change you are testing — a VPN, a resolver, a different router, a different café. Tock records which side you said you were on; it never claims to detect it, because a browser extension genuinely cannot.
What about single-page apps that never reload?+
A route change inside a single-page app is not a navigation and is not measured. Tock times document loads, which is what the four events describe. Timing in-app transitions needs code running on the page, and that is the permission this extension exists without.
Where does my data go?+
Into chrome.storage.local on your machine, and nowhere else. There
is no server. Clearing the history in the popup deletes it, and removing the
extension takes the storage with it.