Upload a lead CSV. Get back a cleaned, deduped, scored list.

Trims and normalizes every field, removes duplicates, flags invalid and disposable emails, and scores each lead 0–100. Free, open source, and completely private: this page makes zero network requests with your data — everything runs in your browser tab.

Drop your CSV here
or click to browse — expects columns like name, email, company, domain, phone (any order, any casing)
Loading…

How scoring works

Simple, transparent rules — the exact weights live in js/qualify.js:

SignalPoints
Corporate (non-free) email domain+40
Valid email syntax+20
Has a name+15
Has a company+15
Has a phone number+10
Disposable email domainscore 0 — Disqualified

Buckets: Hot ≥ 70 · Warm 40–69 · Cold < 40 · Disqualified = disposable email.