Identify the fields.
Email, phone, names, domains, addresses, CRM IDs and dates are given different roles. You can correct the mapping before rescanning.
Find duplicate contacts or companies hiding behind spelling changes, missing fields and messy exports. Review the evidence, choose the master record, resolve conflicts and leave with a clean merge-ready file.
The matcher combines exact and fuzzy identity signals, but weak evidence such as shared company domains or generic inboxes cannot approve a contact merge. Every group waits for your decision.
CSV, XLSX, XLS or ODS. Your raw records are parsed and compared locally in the browser. No signup, CRM connection or AI upload.
Compare the records, choose which one should survive, resolve any conflicting values and then approve the merge or keep them separate.
The clean CRM exports stay locked while any duplicate group is undecided. The review queue can be downloaded at any time.
The dangerous part is not finding exact duplicates. It is deciding whether two almost-matching records are genuinely the same entity and what data survives if they are.
Email, phone, names, domains, addresses, CRM IDs and dates are given different roles. You can correct the mapping before rescanning.
Blocking keeps large files practical, then exact and fuzzy evidence is combined. Shared domains and generic inboxes are deliberately weak signals for contacts.
Each group shows why it matched. Pick the master record and resolve conflicting field values side by side before approving the merge.
Download the cleaned CRM file, the source-to-master merge map and an audit receipt recording what was merged, rejected and left unchanged.
HubSpot, Salesforce, Pipedrive and other CRMs have their own object IDs, associations, activity history and merge behaviour. Test the final import or API workflow against your system before applying changes in production.
A fuzzy match is evidence, not permission. The tool keeps that distinction visible all the way through the export.
No. CSV parsing, Excel parsing, identity normalisation, duplicate matching, review decisions and clean-file generation happen in the browser. The tool does not send raw CRM rows to Luna or another AI model.
Strong contact groups need decisive evidence such as the same non-generic email, phone or record ID, plus no material conflict across the group. A shared company domain, similar company name or common mailbox alone cannot make two contacts a safe merge.
Because transitive matching can create dangerous bridges. A group is only labelled strong when every pair in a reasonably sized cluster meets the strong rule. Otherwise the whole group stays in human review.
The recommended master keeps its value by default, but every conflict is shown as a selectable field decision. Blank master fields can be safely filled from the only non-blank value in the group. Nothing silently overwrites a populated conflicting field.
Yes. “Keep separate” is a first-class decision and is recorded in the review queue and audit receipt. The clean export then retains every record in that group unchanged.