How it works

Paste a link. See why.

A verdict you can't explain can't be trusted, so every one comes with its reasons. Here's what happens when you scan, and how to read what comes back.

  1. Paste the link

    A link or a whole message with links in it.

  2. Our server visits it

    Nothing from the page reaches your device.

  3. You get a verdict, and why

    Safe, Sus or Risky, with every reason listed.

What you get back

url.vet checks the page itself, live, not just a list of known bad links. A few seconds after you press Scan, you get something like this:

paypa1-login.top Risky 7/100

Red flags

  • Typosquatting detected: domain closely resembles 'paypal.com' (1 character difference).
  • Registered 3 days ago. Phishing sites are usually brand new.
  • High-risk domain extension detected (often associated with spam).
  • Sensitive security keywords found in URL: login
  • Very low traffic volume.

Green flags

  • Enforces strict HTTPS security (HSTS Enabled).
Example result, simplified. Not a real site.
Page preview
A screenshot of the page, taken by our server. If it looks like your bank but the address has nothing to do with your bank, that tells you a lot.
Details
Grouped sections (domain, redirects, security certificate, page content, threat feeds) for anyone who wants the raw facts.
Share link
Every result has a link you can send to whoever sent you the original. Its preview shows the verdict and score at a glance.

The checks

21 checks start at the same moment you press Scan. Each one is independent, so a slow or failed check never holds up the rest. Together they answer seven questions, and every finding counts towards either the risk or the trust side of the score.

A few name-based rules are relaxed for well-known sites and verified endings like .gov, so a real bank's own login page isn't flagged. Curious what gets sent where during a scan? See the privacy page.

01 · URL structure · 8 checks

Does the address itself look wrong?

Reads the link before visiting anything. Many scams give themselves away in the address alone.

See what it looks for (12)
  • A raw IP address instead of a name adds risk
  • Encoded lookalike letters (punycode) adds risk
  • Letters from another alphabet that look the same adds risk
  • An unregulated ending adds risk
  • A very deep path adds risk
  • A short link we couldn't follow to where it leads adds risk
  • A high-risk ending, like .top or .zip adds risk
  • A very long link adds risk
  • More than two subdomains adds risk
  • Words like "login" or "verify" in the link adds risk
  • A verified ending, like .gov, .edu or .bank adds trust
  • Short links are followed, through any further short links, and the page they lead to is checked instead shown only

Compared against 138 high-risk endings, 238 verified endings and 2,671 known link shorteners.

02 · Redirects & HTTP · 1 check

Where does the link really go?

Makes one real request from our server and follows every redirect to the final page.

See what it looks for (4)
  • It lands on a different site than the one in the link adds risk
  • More than three redirects that leave the site adds risk
  • The site insists on a secure connection (HSTS) adds trust
  • The response code the site returns shown only

03 · DNS · 2 checks

Is the site set up like a real one?

Looks up where the site lives. Throwaway scam sites often skip the basics.

See what it looks for (3)
  • Missing or incomplete name-server setup adds risk
  • No mail server for the domain adds risk
  • The addresses the site resolves to shown only

04 · TLS / SSL · 1 check

Is the connection secure?

Reads the site's security certificate. A valid certificate proves the connection is private, not that the site is honest, so most of this is shown for you to read.

See what it looks for (4)
  • A certificate issued for a different address (browsers warn about it) adds risk
  • A password form on a page without HTTPS adds risk
  • Who issued the certificate, and when it expires shown only
  • Whether it is publicly logged shown only

05 · Domain intelligence · 4 checks

How old and well-known is the site?

Real sites build up a history. Scam sites are usually days old, unknown, and named after someone else.

See what it looks for (12)
  • One or two letters away from a well-known site adds risk
  • Registered in the last 30 days adds risk
  • A brand's name inside someone else's address adds risk
  • Registered in the last 90 days adds risk
  • Not among the top million sites, and new or of unknown age adds risk
  • Among the 10,000 most-visited sites adds trust
  • Among the 50,000 most-visited sites adds trust
  • Ranked, with lower traffic adds trust
  • Running for more than a year, more so after three and five adds trust
  • Signed DNS records (DNSSEC) adds trust
  • How random the name looks shown only
  • A site on a hosting service or site builder (github.io, vercel.app, weebly.com) is judged on its own, not on the host's reputation shown only

Compared against The top million sites for traffic rank, the 5,000 most-visited for lookalike spellings, and 514 brands for names inside an address.

06 · Page content · 1 check

What does the page ask you for?

Fetches the page and reads its forms: what they ask for, and where that information would be sent.

See what it looks for (12)
  • It claims to be a brand that doesn't own the address adds risk
  • A form sends a password, card or personal details to another site adds risk
  • A login form on a new or unknown site adds risk
  • A hidden frame loading another page adds risk
  • Card or payment fields adds risk
  • A form sends an email or username to another site adds risk
  • Cloudflare or the host has flagged the page or taken it down adds risk
  • The page sends you on by script, to a raw IP address or another site adds risk
  • A page hidden in a WordPress system folder, a sign of a hacked site adds risk
  • It downloads a program from an unknown site, or one any user could upload adds risk
  • It names a brand that does own the address adds trust
  • Tracking pixels, and requests for personal details shown only

Compared against 514 brands across banking, payments, crypto, shopping, delivery, telecoms, government and more, and the addresses they really use. Lookalike letters are read as the plain ones they imitate.

07 · Threat feeds · 4 checks

Has anyone already reported it?

Checks lists of links already reported as phishing or malware: PhishTank, URLhaus and Google Safe Browsing. The lists are kept on our server, and Google only ever sees short codes made from the link, never the link.

See what it looks for (3)
  • On a list of confirmed phishing or malware links adds risk
  • Other pages on the same site are on those lists adds risk
  • Google lists it as dangerous adds risk

How the score works

Every finding counts towards one of two sides: risk or trust. The score starts in the middle, at 50. Risk pulls it down and trust pulls it up, and it always stays between 0 and 100.

Serious findings weigh more than small ones, so one confirmed phishing report outweighs a handful of minor good signs. The number then falls into one of three bands. The example above landed at 7.

7

Risky

0–29

Suspicious

30–64

Safe

65–100

Frequently asked questions

Checking a link

Will the website know I checked it?

It sees a visit from our server, not from you. Your IP address is never sent to it.

Can I use url.vet on my phone?

Yes. It works in any phone browser, with nothing to install. If you like, add it to your home screen from your browser's menu. On Android you can then share a link from another app straight to url.vet.

Understanding the result

What do Safe, Suspicious and Risky mean?

Every link gets a score from 0 to 100. Safe (65 and up) means no warning signs turned up. Suspicious (30 to 64) means there are some warning signs, or not enough evidence either way, so be careful with logins and payments. Risky (below 30) means strong signs of phishing or a scam, so stay away.

Why does my result say some checks didn't finish?

Some checks depend on other services, like the site itself, its domain records or Google Safe Browsing, and those can be slow or unavailable. The result tells you which checks were missed. If a missed check could change the verdict, the result is marked incomplete and isn't saved, so scanning again a minute later retries it.

Why did a site I trust come back Suspicious?

New or little-known sites have fewer signals in their favour, so they can score lower. The flags show exactly why. If you think it's wrong, use the Report button on the result. A human reads every report.

Does Safe mean the site is honest?

It means no warning signs turned up. A real shop can still sell bad products, and a brand-new scam may not show any signs yet. Use url.vet as one layer of defense, not the only one.

How accurate is url.vet? Can it be wrong?

It can. url.vet runs a fixed set of checks and shows every reason, so you can judge the result yourself. A new, little-known site can look suspicious, and a scam that went live minutes ago may show no signs yet. If a result looks wrong, use the Report button.

Staying safe

What is phishing?

Phishing is a scam where a fake message or website pretends to be someone you trust, like your bank, a delivery company or your employer, to steal your password, card number or money. It usually arrives as a link in an email, SMS or chat message.

What is typosquatting?

Typosquatting is registering an address that is one slip away from a real one, like paypa1.com or amaz0n.com, hoping you won't notice. Some fakes go further and swap in letters from other alphabets that look identical. url.vet compares every address against well-known sites to catch both.

Does the padlock or https mean a website is safe?

No. The padlock only means the connection is private. It says nothing about who runs the site. Most phishing sites have a padlock too, so look at the address itself, not the icon.

About url.vet

Is url.vet free? Do I need an account?

It's free, with no account, no signup and no ads.

Is url.vet open source? Who runs it?

Yes. All of the code, including the checks and the scoring, is public on GitHub under the AGPL-3.0 license, so anyone can read it or run their own copy. One developer builds and runs it. The About page has the story.

Is url.vet an alternative to VirusTotal or URLScan?

For checking links, yes. url.vet is free and open source, and it explains its verdict in plain words instead of listing raw data. It checks web addresses and pages only; it doesn't scan files or use antivirus engines.

What is the paperclip in the corner?

That's Vetty, url.vet's helper, inspired by Clippy from old office software. Tap him and he will check a link for you, explain a result in simple words, or help you warn the person who sent it. He is not an AI chatbot, and he never collects your data, shows ads, or asks you to sign up. You can hide him from his menu. The About page has his story.

For developers

Self-hosting and API docs

url.vet is open source. You can run the whole thing on your server, or use its API in your app.

Got a link you're unsure about?

Check it now