Skip to content
ToolsJune 6, 2026By dreamif.ai

Cold email CSV checker

Paste a prospect CSV and flag broken personalization, duplicates, and risky email fields before you import or send.

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.

Step 1

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

New row
Step 2

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.

Step 3

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.

dreamif.ai
Explore

Related resources

Questions, answered.

Yes, and there's no sign-up. You can paste a list, run every check, and download the findings CSV without creating an account.

Email that keeps moving.