Duplicate Line Finder — Find Repeats & Frequencies in a List Online
Find duplicate lines in any text list. Shows each repeated value, how many times it appears, and its original line numbers. Case-insensitive by default, whitespace-trim toggle, and empty-line filtering. 100% local.
Last updated:
Total lines
9
Unique lines
4
Duplicated values
3
Excess duplicates
5
alice@example.com× 3Lines: 1, 3, 5
carol@example.com× 3Lines: 4, 9, 10
bob@example.com× 2Lines: 2, 8
Want to remove the duplicates instead? Remove Duplicates →
Paste a list to see which lines are duplicated, how many times each appears, and the original line numbers of every occurrence. Case-insensitive by default; whitespace trimming and empty-line filtering are toggles.
What is Duplicate Finder?
Duplicate detection is a different operation from duplicate removal. When you're auditing a dataset — 'why does this CSV have 502 rows but only 487 unique customers?' — you don't want to just remove dupes, you want to see them: what's repeated, how often, and where. This tool tabulates every duplicate line, sorts by frequency (worst offenders first), and shows the line numbers of every occurrence so you can jump back to your source and investigate. Case-insensitive matching is the default because most real-world duplicates are 'the same value in slightly different casing' — you can flip to strict mode if you need byte-exact matching.
How to find duplicate lines online
- 1Paste your list, one item per line.
- 2Adjust matching: case-sensitivity, whitespace trimming, empty-line filtering.
- 3The results panel shows each duplicated value with a frequency count and the line numbers where it appeared.
- 4For deduplication (removing duplicates), use the Remove Duplicates tool instead.
Use Cases
Audit a customer / user list
Before importing, check for duplicated emails / user IDs. See exactly which entries are duplicated and where.
Log analysis
Paste error log lines to see which errors repeat the most. The frequency table doubles as an ad-hoc histogram.
Find spam / bot patterns
Duplicate messages, duplicate signup emails, duplicate device fingerprints — all surface here.
Explain 'why my list is longer than expected'
A source file has 1000 lines but only 950 unique. The 50 excess rows appear here with counts.
Tips & Best Practices
- ▸Case-insensitive matching is on by default because most real-world duplicates differ only in case. Turn it off for strict byte-exact matching.
- ▸Whitespace trimming catches the common ' foo' vs 'foo' case where trailing-space CSV data looks OK but hashes differently.
- ▸For structured data (JSON, CSV, XML), don't use line-level dedup — the ordering and formatting can differ while the semantic content is identical. Use a data-cleaning library instead.
- ▸The line-number column links each duplicate back to its origin — helpful when investigating a big file.
Frequently Asked Questions
What's the difference between this and Remove Duplicates?
Remove Duplicates gives you the deduplicated output. Duplicate Finder shows you WHICH lines were repeated, how many times each appeared, and their line numbers — useful when you need to investigate the duplicates before deciding what to do about them.
Is the comparison case-sensitive?
Case-insensitive by default (so 'Apple' and 'apple' count as duplicates). Toggle strict case-sensitivity if you need exact-byte matching.
How are the duplicates ordered?
By frequency (most-repeated first), then by first-appearance order. The most surprising duplicates surface first.
Does it show the line numbers where each duplicate appeared?
Yes — every entry shows the line numbers (1-based) of every occurrence, so you can jump to them in your source. Long line-number lists are truncated with a count.
Is my list uploaded anywhere?
No. Everything runs locally.
Related Tools
Regex Tester
Test regular expressions online. Live match highlighting, capture groups, and support for JavaScript flags (g, i, m, s, u, y).
Regex Replace
Find and replace text with a regular expression online. Supports every JavaScript flag (g, i, m, s, u, y), all backreferences ($1..$9, $&, $`, $', $<name>), and escape sequences (\n, \t) in the replacement. Live match-by-match preview and diff. 100% local.
Text to Speech
Convert text to spoken audio using your browser's built-in Speech Synthesis API. Pick from all voices installed on your OS, adjust rate, pitch, and volume. No account, no download, no upload — 100% local.
XML Formatter
Format, beautify, and validate XML documents online. Handles namespaces, CDATA sections, and mixed content.
SQL Formatter
Format and beautify SQL queries. Supports SELECT, JOIN, subqueries, CTEs, and multiple SQL dialects.
Case Converter
Convert text between camelCase, PascalCase, snake_case, kebab-case, CONSTANT_CASE, Title Case, and more.