Malicious URL Checker - Free Link Safety Scanner & Phishing Detector
Check any URL for malware, phishing, and suspicious patterns. Analyzes 15+ threat indicators including homograph attacks, brand impersonation, and suspicious TLDs.
About
A single misclicked link costs enterprises an average of $4.91 million per phishing breach (IBM, 2023). Attackers exploit Unicode homograph attacks, replacing Latin characters with visually identical Cyrillic glyphs. The domain apple.com rendered with Cyrillic Π° (U+0430) instead of Latin a (U+0061) passes casual inspection. This tool decomposes any URL into its structural components - protocol, hostname, port, path, query parameters - and runs each through 15 weighted heuristic checks. The scoring engine assigns threat weights: an IP-address hostname scores +25, mixed-script homographs score +30, a data URI scores +35. The composite risk score R is clamped to the range [0, 100].
This tool approximates threat level using client-side heuristics only. It does not replace server-side threat intelligence feeds or sandbox detonation. Zero-day phishing domains with clean structure will score low. Always cross-reference with your organization's DNS filtering and endpoint protection.
Formulas
The composite risk score is computed as the clamped sum of individual threat indicator weights:
R = min(100, nβi=1 wi β ti)
where R = composite risk score (0 - 100), wi = weight assigned to threat indicator i, ti β {0, 1} = binary detection flag, and n = total number of heuristic checks (15).
Risk classification thresholds:
Homograph detection uses Unicode codepoint range analysis. A character c in the hostname is flagged if c β [U+0400, U+04FF] (Cyrillic block) while the majority script is Latin, or vice versa. The presence of any mixed-script pair triggers thomograph = 1.
Reference Data
| Threat Indicator | Weight | Description | Example |
|---|---|---|---|
| IP Address as Host | +25 | Hostname is a raw IPv4/IPv6 address instead of a domain | http://192.168.1.1/login |
| Homograph Characters | +30 | Mixed Unicode scripts in hostname (Cyrillic/Latin lookalikes) | Π°pple.com (Cyrillic Π°) |
| Data URI Scheme | +35 | URL uses data: protocol to embed executable content | data:text/html;base64,... |
| Suspicious TLD | +15 | Top-level domain frequently abused in phishing campaigns | .tk, .ml, .ga, .cf, .gq, .xyz, .top, .buzz |
| Brand Impersonation | +25 | Domain contains major brand name but is not the official domain | paypal-secure-login.tk |
| URL Shortener | +10 | Link uses a URL shortening service hiding the real destination | bit.ly, tinyurl.com, t.co |
| Encoded Hostname Chars | +20 | Percent-encoded characters in the hostname portion | %61%70%70%6C%65.com |
| @ Symbol in URL | +20 | Credentials in URL can mask the real destination | http://[email protected] |
| Excessive Subdomains | +10 | More than 3 subdomain levels indicate obfuscation | login.secure.account.bank.evil.com |
| Suspicious Port | +15 | Non-standard port (β 80, 443) used for web traffic | http://example.com:8443 |
| HTTP (No TLS) | +10 | Unencrypted connection exposes data to interception | http:// instead of https:// |
| Punycode Domain | +15 | Internationalized domain name with xn-- prefix | xn--pple-43d.com |
| Excessive URL Length | +5 | URL exceeds 200 characters, common in obfuscation | Long query strings with encoded payloads |
| Deep Path Nesting | +5 | Path depth exceeds 5 levels | /a/b/c/d/e/f/login.php |
| Phishing Keywords | +15 | Path or query contains terms like login, verify, secure, account, update, confirm, suspend | /verify-account/secure-login |