A typosquatting checker that shows its evidence
Enter a domain and get the registered lookalike names in one to three minutes, no account needed. Every finding carries its registry record, DNS answers and certificate log entries, and the checker never visits a suspect site.
- Registry RDAP
- DNS over HTTPS
- Certificate logs
- Passive web records
- Public Suffix List
Generated across about 180 endings
- .com
- .net
- .org
- .io
- .co
- .app
- .dev
- .ai
- .co.uk
- .de
- .shop
- .online
- .site
- .xyz
- .cloud
- .info
- .biz
- .me
- .eu
- .store
One domain in. A review list out.
The engine builds thousands of candidate names, resolves every one, and reports those that exist with the public records behind them. It never loads a suspect page to read what is on it.
- 1. Generate
About twenty pattern families and 180 endings turn one domain into thousands of candidate names.
- 2. Resolve and search
Every candidate is resolved over DNS and certificate transparency logs are searched for more.
- 3. Read the records
Registered names get their registry record, DNS answers and passive history, then a review priority under a published rule.
Lookalike names below use the reserved .test ending, so no real registration is shown.
An impersonation keyword on a registration under a year old, or active infrastructure on a recent one.
Priority orders human review. It is not a finding of phishing.
Check a domain once.
Or watch it every day.
Enter a domain. The engine generates thousands of variations, resolves every one, and reports the names that exist with the records behind them.
It never loads a suspect page to read what is on it. A finished report is kept for 24 hours.
Watch up to 25 domains with daily re-checks, certificate logs searched every 30 minutes, alert rules you set, and a ledger that remembers every decision you make about a finding.
GET /api/v1/check/example.com
Authorization: Bearer $KEY
202 { "job": "/api/v1/jobs/7f3a" }The variations somebody would actually register
Twenty pattern families, about 180 endings and roughly forty public hosting platforms. For a single six-letter domain that is 3,001 candidate names, every one of them resolved over DNS before anything reaches your report. Sample names use the reserved .test ending.
- example-login.testKeyword and ending663
- login-example.testKeyword compound544
- exmaple-login.testKeyword with a typo384
- example.pages.devHosting platform347
- example-login.testDictionary keyword276
- example.netDifferent ending196
- ezample.testKeyboard slip175
- exmples.testMissing and added154
- exsample.testInserted character144
- exarnple.testLookalike characters41
- examplea.testAdded character32
- exmple.testMissing character7
- exaample.testRepeated character7
- my-example.testPrefixed word7
- exmaple.testTransposed6
- ex.ample.testSubdomain split6
WHY THIS CHECKER
A list of names is not the useful part
Any tool can generate variations. What decides whether a finding is worth an hour of somebody's attention is the evidence under it, the rule that ranked it, and whether the decision you made last month is still recorded.

active = hasAddress || hasMailRecord
if (active && (ageDays < 90 ||
(keywordPattern && ageDays < 365)))
priority = 'Elevated'
else if (active || registryRecord)
priority = 'Review'
else if (!registryRecord && !dnsAnswer)
priority = 'Low signal'
else
priority = 'Unknown'Every rule is published, not scored
The patterns, the sources, the timeouts and the exact rule behind each review priority are on one page. There is no undisclosed score to take on trust.
Every label links to the rule that produced it
No detection-accuracy figures we cannot defend
Corrections are dated on the page they affect

Findings you can argue with
Each row carries the registration record, the DNS answers and the certificate entries it rests on. Where a source stayed silent, the report says so instead of guessing.
A timeout stays unknown, never becomes a negative
No registry record is not the same as available
Similarity is never reported as intent

Nothing here reads a suspect page
Evidence comes from registry RDAP, DNS, certificate transparency logs and passive records that somebody else already gathered. The checker never loads a page to read what is on it, and never submits one for scanning.
No request from your browser to the suspect host
Providers see our address, never yours
Hosting-platform names get one request, to confirm they are claimed

Decisions that outlive the report
Mark a finding once and the decision sticks to the name, with the dates it was first and last seen. The second review is a short list of differences rather than the whole thing again.
Owned, malicious, false positive or ignored
First and last seen kept per finding
Later runs show only what changed
A JSON API
Ask for a check with a bearer key and poll the job. A report from the last 24 hours comes back at once, or add fresh=1 to force a new run.
LEARN MORE
Exports that fit your tooling
Every report and every query exports as JSON, JSONL or CSV, with formula characters escaped so a spreadsheet cannot execute a finding.
LEARN MORE
One request, one job
Turn any saved query into a rule with a severity. Matches are logged, and on Pro emailed and posted to a signed webhook, or to Slack, Microsoft Teams or Discord. A rule never changes a finding's published priority.
LEARN MORENothing undisclosed
Registry RDAP through the IANA bootstrap, DNS over HTTPS, certificate transparency logs and passive web records. Each one is listed with what it answers and where it stays silent.
LEARN MOREDATA AND SECURITY
Built to need as
little as possible
What happens to what you enter
Evidence comes from the registry, DNS, certificate transparency logs and passive records that somebody else already gathered, and no new scan is submitted to any third party. Names on a public hosting platform are the single exception: those platforms answer DNS for every possible subdomain, so each such name receives one request to confirm somebody claimed it. Nothing from the response is read or reported.
Candidate names are resolved and looked up from our servers, so the domain you enter never reaches a provider carrying your address. The domain does appear in the page URL, so it may be in your browser history.
The job record and the finished report are stored for 24 hours so the results page can show them, then deleted by a scheduled sweep. Neither holds an address or an account. Reports you run from a panel account stay until you delete them.
Session tokens, sign-in links and API keys are held as SHA-256 hashes, so a copy of the database contains no usable credential. Sign-in links are single use and expire after 15 minutes.
None of this is a certification. It is a description of how the code runs today, and the trust page lists the processors involved and how to report a vulnerability.
READ THE TRUST PAGE
Before you run a check
The longer list, including what a check costs and how to report a mistake, is on the FAQ page.
See what looks like you.
No account needed for a check. A report takes one to three minutes and shows the registry, DNS and certificate evidence behind every finding.