Paste text and get only the unique lines back.
Paste a list and this removes repeated lines, keeping the first occurrence of each and preserving the original order of what remains. It is the browser equivalent of sort -u or awk '!seen[$0]++', without needing a terminal or uploading your data anywhere.
Input:
Output:
Six lines become three. The first occurrence of each value is kept in place, so the output order matches the order values first appeared rather than being alphabetised.
Two lines are duplicates when their text matches exactly. That means several things do not match, and they are the usual reason a deduplication leaves entries you expected to be removed:
apple and apple are different strings. Invisible trailing spaces are the single most common cause of apparent failures.Apple and apple differ unless you normalise case first — our case converter can do that in one pass.If duplicates survive that look identical, one of these is almost certainly the reason. Trimming whitespace and normalising case before deduplicating resolves the majority of cases.
This tool preserves the input order, which matters when the sequence carries meaning — a priority list, a changelog, an ordered set of steps. The classic Unix approach, sort | uniq, sorts as a side effect, because uniq only removes adjacent duplicates and therefore requires sorted input. That is a real trap: running uniq on unsorted data silently leaves non-adjacent duplicates in place. If you do want the output alphabetised, our sort text tool handles that separately.
For structured data such as a full CSV, deduplicating whole lines only catches rows that are identical in every field. Removing rows that duplicate a single key column — the same customer with a changed phone number — is a job for a spreadsheet's own duplicate-removal feature or a database query, since it requires deciding which of the conflicting rows to keep.
Empty lines are treated like any other value: the first is kept and subsequent ones removed. If your list uses blank lines as separators between groups, deduplication will collapse them and destroy the grouping. Remove or replace those separators before running the tool if the structure matters.
Everything happens in your browser. Nothing is uploaded, which is worth knowing given that the lists people deduplicate are so often email addresses, customer records or internal data. Large lists are handled efficiently — the tool uses a hash set, so the work scales linearly rather than quadratically with the number of lines.
Almost always invisible differences — trailing spaces, mixed case, tabs versus spaces, or non-breaking spaces copied from a web page. Two lines must match exactly to count as duplicates. Trim whitespace and normalise case first.
The first. Subsequent repeats are removed and the surviving lines stay in their original order, so the output reflects the order in which values first appeared.
No — the original order is preserved, which matters for lists where sequence is meaningful. Use a separate sort tool if you want the result alphabetised.
Yes. "Apple" and "apple" are treated as different lines. Convert your list to a single case first if you want them merged.
Yes. Deduplication uses a hash set, so processing time grows in proportion to the number of lines rather than exponentially. Lists of tens of thousands of lines process near-instantly; the practical limit is your browser's memory.