Generate in bulk
Every name is combined with every domain. Leave empty to use the domain on each name line instead (or the ).
Free tier: 50 names × 50 domains per run, in your browser, plus a free verification sample of the results below. Larger lists, and the verified version of this list, are a Rooster4am job.
How it works
Parse
Names are split into first, middle and last and normalised the way mail admins normalise them. Domains are deduplicated and lower-cased. The first 50 of each are kept.
Combine
Every name is paired with every domain, or with the domain on its own line if the domains box is empty. Free-mail domains are skipped unless you untick the option.
Generate
For each pair, the chosen patterns are filled in — one, the top 3 or 5, or all 20 — deduplicated per person, and ranked by how common each pattern is.
Check, verify, export
Each domain is MX-checked over DNS-over-HTTPS, a sample of up to 50 addresses can be verified against the mail servers from the page, and the full list — with rank, template, share, domain status and any verification result on every row — downloads as CSV.
What this is for
You have a list of target companies and, for each, one or two names you found on LinkedIn. The single-person permutator handles one at a time; this takes the whole spreadsheet. Names on the left, domains on the right, and every combination comes out ranked, with the template shown so you can see why praman@ sits above priya_raman@. The CSV carries everything, including whether the domain is alive, so a verifier can take it straight.
Why fifty and fifty
Fifty names across fifty domains at the top three patterns is 7,500 addresses. Most of them do not exist, because most people have one address and this produces three per domain — and you are usually only looking for them at one of the fifty. That is fine as a candidate list for a verifier. It is not fine as a send list, and the bigger the run the more tempting it becomes to send anyway. The cap keeps the free tool useful for a prospecting session and keeps it from being a bounce generator.
The MX check earns its place
Company lists collected by hand have typos, retired domains and companies that were acquired last year. Each dead domain in a fifty-domain list produces a hundred and fifty guaranteed hard bounces at the top-3 setting. The tool resolves MX and A for every domain before it exports and marks the rows, so the CSV you hand to a verifier — or a colleague — does not contain three hundred addresses at a domain that stopped existing in March.
What Rooster4am does instead
Permutation starts from a name and hopes. The way my data team builds lists is the reverse: start from the company, find the people in the roles you want, find each person's actual address from the sources that carry it, and verify it against the mail server before it goes on the list. There is no cap on that, and the output is one address per person, not twenty. When a run here hits the limit, or when the candidate list is bigger than you want to verify by hand, that is the point to hand it over.
Frequently asked questions
What is the limit?
Fifty names and fifty domains per run, combined every way, at up to 20 patterns each — 50,000 rows at the maximum. Above that, it is a Rooster4am job.
Can I give each name its own domain?
Yes. Leave the domains box empty and write each line as 'First, Last, domain'. Fill the box and every name is paired with every domain instead.
Which patterns should I pick?
Top 3 covers about two thirds of companies and keeps the list small. All 20 is for when a verifier will process the output. If you know a company's pattern from one real address, pick that one — it applies to everyone there.
Does it check whether the addresses exist?
The generation step checks the domain only. The verification sample below the results asks each mail server about the mailbox — 5 a minute, 50 per session, business domains only. Bulk verification of the whole list is a Rooster4am service.
Can I upload a CSV?
Yes. Download the names or domains template, fill it in, and upload it. Headers first/last/domain (or name, or email) are recognised; without headers, columns are read as first, last, domain. The first 50 names and 50 domains are kept and the rest are reported as dropped.
Why are free-mail domains skipped?
Patterns are a corporate habit. Nobody at Gmail has first.last unless they signed up in 2004. Untick the option if you want them anyway.
Last reviewed
What to run next
The checks that most often follow this one.
More in this category
Guides that go deeper
When the tools tell you something is wrong
The diagnostics here are free and always will be. When the fix is bigger than a DNS record, this is the work I do.
Deliverability rescue
Mail landing in spam, replies gone quiet, or a domain suddenly blocked. I find the actual cause rather than guessing, and fix it.
- Authentication and alignment failures
- Blocklist delistings and reputation repair
- Gateway and filter-level blocks
- A written report on what broke and why
Email & sending infrastructure
Sending domains, inboxes, authentication and warmup, built to survive volume instead of burning down in a month.
- Domain and inbox fleets at any scale
- SPF, DKIM, DMARC and tracking domains
- Google Workspace — Silver Partner
- Handover documentation you actually own
Domain, DNS & migration
Changing registrar, mail provider or host without a day of downtime or a week of mail silently failing.
- Registrar and nameserver moves
- Workspace and Microsoft 365 migrations
- MX, SSL and subdomain cutover
- Staged rollout with rollback at every step
Monitoring & retainer
Infrastructure drifts. Records get edited, certificates expire, domains get listed. Ongoing eyes on the fleet.
- Scheduled checks across every domain
- Alerts before your clients notice
- Monthly reporting
- Priority response when something breaks
Start with a call
Bring a domain and the symptom. I will tell you what is actually wrong and whether you need me at all — plenty of people leave that call able to fix it themselves.
Thirty minutes, no pitch
We will run the checks together on your actual domains, and you will leave knowing what is broken, what it takes to fix, and what it should cost. If that is a job you can do in-house, I will say so.