Why case-sensitivity is the setting most people get wrong#
A list of emails, tags, or URLs collected from different sources almost always has inconsistent capitalization — "[email protected]" and "[email protected]" are the same address to every mail server that will ever receive them, but a case-sensitive dedupe treats them as two different lines and keeps both. Case-insensitive matching is the default here for that reason; the toggle exists for the genuine exceptions, like deduplicating code identifiers or file paths on a case-sensitive filesystem, where "Apple" and "apple" really are different things.
Which line survives when duplicates are removed#
When two lines are equal (after whichever comparison rule applies), the first occurrence in the original list is the one kept, and every later match is dropped. This matters when the duplicate lines are not perfectly identical in whitespace or trailing characters before the case-normalization is applied — whichever version appeared earliest in the pasted list is what survives.
Sorting uses locale-aware comparison, not raw character codes#
A naive sort compares strings by raw character code, which puts every uppercase letter before every lowercase letter ("Zebra" sorts before "apple", because Z has a lower code point than a) — not the order most people expect from an alphabetized list. This tool uses Intl.Collator, the same locale-aware comparison browsers use for user-facing text, so the result reads as a human would alphabetize it.