Input lines
0
Free · Instant · No signup
Unique lines, original order kept.
Duplicate lines are removed while keeping the first occurrence order.
Input lines
0
Unique lines
0
Removed
0
CSV paste into Shopify, Mailchimp, or a cron allowlist often carries duplicate rows from merged spreadsheets. This tool strips repeats while keeping the first seen order so priority stays intact.
Demo input: apple, banana, apple, cherry, banana, date. Output: apple, banana, cherry, date. Removed: 2. Stats cards show input lines, unique lines, and removed count.
Copy writes the output textarea only.
Normalize casing first with the Case Converter if duplicates differ only by case and ignore-case is off.
After dedupe, count lines or words with the Word & Character Counter if a brief caps list length.
Developer logs may need the Regex Tester for pattern-based filtering; this page is exact line match only.
Near-duplicates ("apple" vs "apples") stay separate. Fuzzy dedupe belongs in a spreadsheet or script.
Single-line comma lists are one line. Split to rows first (Find/Replace comma to newline), dedupe, then rejoin if needed.
For JSON arrays, use the JSON Formatter and Minifier to validate structure before manual line edits.
The first time a line key appears, it is kept. Later identical lines are dropped. Example: apple, banana, apple becomes apple, banana. Removed count = 1.
When checked, leading and trailing spaces are ignored for matching. " apple" and "apple" dedupe together. The kept line stays as originally typed on first occurrence.
Matching treats "Apple" and "apple" as duplicates. First occurrence wins. Turn off for case-sensitive lists like base64 strings or Unix paths.
Blank lines after trim are kept as separate empty lines unless they duplicate another empty line key when trim is on.