# Finding and merging duplicates

Source: https://listplus.ai/en/help/check-and-clean/duplicates
Last updated: 2026-09-25

Click **Analyze** in the list header. The checks run as soon as the panel
opens, and duplicates are one of the categories. Analysis runs automatically
the first time you open the list; click **Re-run Analysis** to refresh it
after you've made changes. It checks the whole list against itself and
groups rows that look like the same contact.

## Duplicate checks

- **Duplicate Email** — same email address (case- and whitespace-insensitive).
- **Duplicate Name + Company** — same first name, last name AND company
  (accents ignored, so "Müller" matches "Muller").
- **Duplicate LinkedIn** — same LinkedIn URL (trailing slash and `?query`
  parts ignored).
- **Duplicate Phone** — same phone number (formatting ignored: `+49…` and
  `0049…` are treated as the same number).
- **Sparse Name Duplicate** — same first + last name where one row has no
  email, company, LinkedIn URL or phone at all (a "ghost" entry) and the
  other row does — often the same person entered twice, so check these rows
  before merging.
- **Similar Name + Company** — catches typos, accents and legal-suffix
  differences (e.g. "Jon Smith / Acme Inc" vs. "John Smith / Acme GmbH")
  that the exact checks miss. This one only flags rows for you to review;
  it has no Fix.

Each check only runs if your list has the columns it needs (an Email column
for Duplicate Email, First Name + Last Name + Company for Duplicate Name +
Company, and so on). A check card shows how many rows are affected.

## Merging duplicates

Click a duplicate check to select its rows and review them. To merge, open
the **Quick fixes** category in Analyze and click **Fix** next to the
duplicate check. Fix applies to every group of matches for that check in the
whole list. For each group ListPlus:

1. Keeps the most complete row (the one with the most filled-in fields,
   prioritizing email, name, company, job title, phone and LinkedIn) as the
   surviving row.
2. Copies any value the surviving row is missing from the other rows in the
   group, so you don't lose data that was only on a duplicate.
3. Hides the other rows in the group by marking them **Ignored** — they
   disappear from the list view but are not deleted.

A confirmation message reports how many groups were merged, how many rows
were removed (hidden, not deleted), and how many fields were filled in from
the hidden rows.

Review before you fix. Two different people can share a name, a company
phone number or a shared inbox such as info@, and a merge only compares
that one field. This matters most for Sparse Name Duplicate and Duplicate
Phone. **Fix all** in Quick fixes also runs the duplicate merges, so fix
duplicate checks one at a time.

## Saving and undoing

Hiding the duplicate rows is saved automatically in the background — no
need to click Save for that part. However, any field values copied onto the
surviving row are regular cell edits: they show as unsaved changes until you
click **Save** in the list header, the same as typing into a cell yourself.

To undo a merge, click the **Hidden rows** entry (with a count) below
**All** in the Sublists panel, or run **Show Ignored Rows** from Commands
⌘K, then select the rows and click **Restore** (or right-click → **Restore
Rows**). This brings the hidden rows back into the list; it does not undo
the field values that were copied onto the surviving row — edit them back
by hand if needed. If you haven't saved yet, the filled-in fields can still
be discarded with **All** → **Revert** in the Changes panel.

## Cost

Finding and merging duplicates inside a list is free — no credits are
charged.

## Merging duplicates across lists

The Duplicates checks only compare rows inside one list. To combine two
lists, drag one list card onto another on Home to open **Consolidate
Lists**. The dragged list is the **Source** and the one you drop it on is
the **Master**. Choose **Create New List** (the originals stay unchanged) or
**Update Master In-Place**, then **Map Columns**. In the **Duplicates**
step, choose **Keep all rows** or **Skip duplicates**, and under **Match on
column** pick a column such as Email. The wizard shows how many source rows
already exist in the master before you click **Consolidate**. Skipped rows
are left out, not merged into the existing row. It's free, but the added
rows count toward your plan's record limit.

## Adding contacts without creating duplicates

Adding a contact to a list from **Person Search** merges into an existing
row (matched by email, LinkedIn URL, phone, or name and company) instead of
creating a duplicate. **Segment Search** does not do this: adding the same
page of results to a list twice creates duplicate rows, because Segment
Search always adds new rows. Run the Duplicates checks afterward to clean
those up.

## FAQ

### What duplicate checks does ListPlus run?

The Analyze panel's Duplicates category checks for matching email, matching
LinkedIn URL, matching phone number, matching first name + last name +
company, and same first/last name where one entry has no other identifying
data. A "Similar Name + Company" check also flags close matches (typos,
accents, legal suffixes) for manual review.

### Where do I see duplicates in my list?

Open the Analyze panel in the list header. It runs automatically when the
list opens and shows a Duplicates card with the number of affected rows for
each duplicate check.

### What happens when I click Fix on a duplicate check?

ListPlus finds every group of matching rows for that check across the whole
list, keeps the most complete row in each group, copies any values that row
is missing from the other rows in the group, and hides those other rows
(marks them Ignored) so they no longer show in the list. Review the rows
first — a merge only compares the one field the check matches on, so two
different people can share a name, a phone number or an inbox like info@.

### Which row's data wins when duplicates are merged?

The row with the most filled-in fields is kept, weighted toward email, name,
company, job title, phone and LinkedIn. Any field left empty on that row is
then filled in from the most complete other row that has a value.

### Does merging duplicates cost credits?

No. Finding and merging duplicates within a list is free.

### Can I undo a duplicate merge?

Yes for the hiding part: open the Hidden rows entry in the Sublists panel
(or Show Ignored Rows from Commands ⌘K), select the rows, and click Restore
to bring them back. Field values that were copied onto the surviving row
during the merge are not automatically reverted — edit them back manually,
or use **All** → **Revert** in the Changes panel before you save.

### Do I need to click Save after merging duplicates?

Hiding the duplicate rows is saved automatically. But if the merge filled in
any empty fields on the surviving row, those field changes are unsaved
until you click Save in the list header, just like a normal cell edit.

### What does the Similar Name + Company check find?

It catches near-duplicates the exact checks miss — typos, accented letters,
and different legal suffixes (GmbH vs Inc) on the same company. It only
flags rows for you to review; there is no Fix for it.

### Does merging two lists remove duplicates?

Consolidate Lists (drag one list onto another on Home) has its own
"Duplicates" step: choose "Skip duplicates" and pick a column (such as
Email) to match on, and it won't add source rows that already exist in the
master list. This is separate from the in-list Duplicates checks and
doesn't merge field values — it just leaves matching source rows out.

### Why did adding contacts from Segment Search create duplicates but Person Search didn't?

Adding a contact from Person Search merges into an existing matching row
instead of creating a new one. Segment Search always adds new rows, so
adding the same page of results twice will create duplicates — run the
Duplicates checks in the list afterward to merge them.
