Toolbox · Bulk content

CSV batch thinning checker

An entire export checked row by row in one pass: near-duplicate descriptions, phrasing reused across rows and anything below your word floor.

React-PapaParseRuns in your browserNothing uploaded

Twenty-five instruments on one bench.

Live tool

Offline · nothing leaves this tab

Loading the CSV batch checker…

Duplicate phrasing is the tell a spreadsheet hides

Each row reads fine on its own. The problem is that across the export, the same opening sentence appears ninety times with a different product name in the middle, and nobody notices because nobody reads four hundred rows in order.

Every row is reduced to its overlapping four-word sequences and compared pairwise with the rows before it. Two rows sharing 80% or more of those sequences are reported as a near-duplicate pair, with the percentage and both row numbers, so the fix is a rewrite rather than a re-read.

Reused phrases, counted across the file

The second view counts five-word phrases that turn up in two or more different rows. A handful is normal boilerplate; the same phrase in forty rows is a cohort that will read as programmatic to anyone, and to a helpful-content review.

Thin is a count, so the floor is yours

Thin content here means a word count below the floor you set, and nothing more. A 155-character meta description is thin by any product-description floor and perfectly correct for its slot, which is why the threshold belongs to the column rather than to the tool.

What none of this decides is whether the copy is true, whether the pages compete with each other for the same query, or whether the catalogue should exist at all. Those need the console and, for a real catalogue, a person.

Questions about this tool

Does my export get uploaded?
No. Papa Parse reads the file as text in this tab and the rows stay in memory; nothing is sent anywhere.
Which delimiter does it expect?
Comma, with a header row and quoted fields. A semicolon or tab export parses as one column, so convert it to comma-separated first.
How large a file can it take?
The limit is the tab's memory, not the tool. Tens of thousands of rows are fine; the pairwise comparison is the part that slows down first.

Toolbox

Fix the prose here, then check what the prose cannot show.

The console runs structural, claim and formatting checks on the same draft, and a named reviewer takes on anything with consequences.