How it works
Why a Welp result can be trusted when a screenshot can't, and what it still can't tell you.
1. You create a check
You set the minimum download, upload and, optionally, latency your role needs. You get two links: one for applicants, which you put in your job ad or application form, and a private results page. No account is needed, and the requirements can't be changed afterwards, so a verdict never moves under anyone.
2. The applicant runs it from where they'll work
The applicant opens your link and sees a page with your company name, your requirements and exactly what you will see. They type their name, allow location, and the test runs for about 25 seconds in their browser. Nothing to install, no account.
3. Our server measures, the browser doesn't
Every test moves real data between the applicant's device and our servers for several seconds in each direction. The number on their screen is only ever a ceiling on what we record:
- Before each phase our server signs a start time. Nothing that happened before it can count.
- For uploads, our server notes when the whole upload arrived. Bytes received over the time since the signed start is the most that could have been uploaded.
- For downloads, every chunk ends with bytes that are unpredictable and unique to that chunk, and the browser has to send them back as a receipt. Received bytes over the time since the signed start is the most that could have been downloaded.
The recorded figure is the lower of our server's measurement and the browser's. Editing the page or its code can only lower a result.
4. We check where it ran
The test needs the device's location from the browser's own permission; without it, the test doesn't run. We also see where the network says it is. If the two are more than 150 km apart, the result is flagged "network elsewhere": usually a VPN, or a test run somewhere other than where the device claims to be. You see the city and country of each, never the exact location.
5. You read the results
Your private page lists every applicant with pass or fail against your numbers, their speeds, latency and jitter, internet provider, device, connection type where the browser reports it, and the location check. Every run is kept, so you can ask a shortlisted applicant to run the same link again on another day and see both. See an example.
What we flag but don't block
- Mobile data. If the internet provider is a mobile carrier, the test was probably run on a phone connection or hotspot rather than home internet.
- Network elsewhere. The location mismatch described above.
- One day only. A single run is one moment. Your results page shows how many different days each applicant has tested on.
What a test can't tell you
- That the connection will be as good every afternoon. A test proves the line can do the number at that moment; two runs on different days tell you much more than one.
- Whether they tested on a cable and will work on WiFi. We show the connection type where the browser reports it, but not every browser does.
- A device whose location is faked with developer tools while its network is genuinely within 150 km. That's rare, and a second run on another day makes it harder.