How to compare two lists of Arabic names
You have a list of people who registered for a course and a list of people who actually turned up, or last year's customer list and this year's. This tool answers the usual questions quickly: who is on both lists, who is on the first but not the second, and what the full list looks like without repeats. Paste each list into its own box, one name per line, and pick an operation.
Matching is exact: two lines match only when their characters are identical. That matters with Arabic names, because the same name is often written more than one way, with or without a hamza, or with taa marbuta or haa.
How to use it
- Paste the first list into List A and the second into List B, one name per line.
- Choose an Operation: Intersection for names on both lists, A minus B for names in A that are missing from B, or Symmetric difference for every name that appears on only one list.
- Tick Ignore edge spaces for matching. Trailing spaces are common in lists copied from spreadsheets, and they stop a match without being visible.
- Leave Ignore blank lines on so empty lines do not end up in the result.
- Read the item count under Result, then copy the list or download it as .txt.
Worked examples from the tool
أحمد علي سارة محمد خالد يوسف مريم حسن فاطمة الزهراء
سارة محمد احمد علي مريم حسن نورة سالم
سارة محمد مريم حسن
Settings: Operation: Intersection · Ignore edge spaces for matching
أحمد علي سارة محمد خالد يوسف مريم حسن فاطمة الزهراء
سارة محمد احمد علي مريم حسن نورة سالم
أحمد علي خالد يوسف فاطمة الزهراء
Settings: Operation: A minus B · Ignore edge spaces for matching
احمد علي سارة محمد خالد يوسف مريم حسن فاطمة الزهراء
سارة محمد احمد علي مريم حسن نورة سالم
احمد علي سارة محمد مريم حسن
Settings: “أ إ آ → ا” applied in the Cleaner first · Operation: Intersection · Ignore edge spaces for matching
The five operations in plain words
- Union, distinct: every name from both lists, each once.
- Concatenate, duplicates kept: list A followed by list B, exactly as pasted.
- Intersection: names that appear on both lists.
- A minus B: names in A that are not in B. Swap the lists to get the reverse.
- Symmetric difference: names in A that are not in B, followed by names in B that are not in A.
The result keeps the order of A and then B, and it keeps the first spelling it met. Every operation except concatenate also removes repeats within a list. For an alphabetical result, paste it into Lines.
Normalise a copy before you compare
In the attendance example, one organiser typed أحمد علي and the other typed احمد علي. A person reads them as the same name; the tool does not, so Ahmed shows up as absent even though he attended. The same happens with فاطمة and فاطمه, with على and علي, and with names that carry diacritics.
The fix is to normalise the letters in a copy of both lists before comparing. Open the Cleaner, go to More controls and then Normalize letters for search, tick أ إ آ → ا and any other options you need, and apply the same settings to both lists. The guide to normalising Arabic for search explains when each option helps. In the third example, Ahmed is matched once alef is normalised. Keep in mind that the result now uses the normalised spelling, so hold on to the original lists if you need the names exactly as written.
Limits
- Matching is plain text equality after the spacing and case options. The tool does not fold hamza, taa marbuta or diacritics, and it does not recognise similar names.
- Each line is one item. سارة محمد and سارة محمد العلي are different lines even if they are the same person.
- Ignore case only affects Latin letters; it has no effect on Arabic.
- Each list and the result are limited to 100,000 text units.
Frequently asked questions
How do I find the names that appear on both lists?
Choose Intersection under Operation. The shared names appear in list A's order, each once.
How do I find names that are in the second list but not the first?
Swap the lists and choose A minus B, or choose Symmetric difference to see what is missing on both sides at once.
Why is a name listed as missing when it is on both lists?
The two spellings differ in a letter or a space: a hamza, taa marbuta, alef maqsura instead of yaa, or a diacritic. Tick Ignore edge spaces for matching and normalise the letters in a copy of both lists.
Does the tool remove repeats inside a single list?
Yes, in every operation except Concatenate, duplicates kept. The first occurrence stays and later copies are dropped.
Are my lists sent to a server?
No. The comparison runs in your browser, and the lists are cleared when you reload the page.
