How it works
Paste your list, confirm which columns are email and personalization fields, then run checks. The output is a short summary plus a row-level findings table you can export as a CSV.
Paste your list
Paste CSV or spreadsheet rows. The tool auto-detects whether the first row is headers.
The gray row is just an example. Paste your export on top of it in any column order.Then use Step 2 to tell the checker which columns hold Email, First name, Company, Domain, and LinkedIn URL. Extra columns won't get in the way.
0 detected rowsNo header row detected
Confirm column mapping
If your export uses different headers, point the checker at the right columns.
Don’t worry about the header names. Just pick the columns that match each field.
Paste rows to map columns.
Detected email and personalization fields will appear here for review.
Run checks
Get a summary and a row-level findings table you can export.
No rows to check yet
Paste rows in Step 1, then run checks to preview issues here.
What it checks
It catches the structural mistakes that break personalization and create duplicate contacts when you import into Apollo, Instantly, Smartlead, Clay, Lemlist, Mailshake, HubSpot, or any mail merge. If you still need candidate addresses first, use the bulk email permutator.
- Flags missing first_name and company columns
- Catches duplicate emails and duplicate domains
- Catches invalid email syntax, role-based addresses, and free-mail domains
- Finds broken LinkedIn URLs and malformed domain formats
- Flags whitespace, non-ASCII characters, all-caps company names, and placeholder values like N/A
How to fix the file before import
The report is most useful when you treat each finding as an import decision. Some rows need correction, some need suppression, and some need a separate research pass before they belong in a campaign.
Missing first name
Look up the name or add a fallback greeting rule in the sending platform.
Role-based address
Move it into a review list unless the campaign is meant for shared inboxes.
Duplicate email
Keep one row so one person does not receive the same sequence twice.
Free-mail address
Check context. It may fit freelancers or small businesses, but weakens company-account outreach.
Placeholder value
Replace or remove it before previewing the merge.
After cleanup, preview the actual message with the mail merge preview tool. A CSV can pass field hygiene checks and still produce awkward merged sentences.
What it does not do
This is a hygiene pass on the file you paste, nothing more. It reads what's already in each cell: email syntax, duplicates, role and free-mail addresses, broken LinkedIn URLs, and placeholder values. It can't confirm that an address actually receives mail, predict whether your messages reach the inbox, or judge which prospects are worth keeping. It won't fill in blank companies or push the cleaned rows into Smartlead, Apollo, or your CRM. Handle enrichment and deliverability with the tools built for that, then send.
Privacy
Your prospect list never leaves your device. Every check runs in the browser, and if you export a findings CSV it's built locally too. dreamif.ai doesn't receive the file or any of its rows.