Rowmate app icon

Rowmate

A quiet menu-bar companion for messy spreadsheets.

No uploads. No servers. No fuss.

Try it — click to apply, click again to undo

nameemaillinkedinsigned up

Merging two files: pick a mode

To combine two files, Rowmate needs to know which rows belong together. It does that by matching on a shared column.

In these example files, that shared column is email. In your own data it could be anything: a customer ID, a phone number, a company name, a LinkedIn URL.

If the columns are named differently in each file, Rowmate lets you pair them manually.

File A
File B

Result matching on the email column

Dedupe by LinkedIn — seven URLs, three people

#linkedinnameverdict
7 rows in 4 kept after dedup

Alice's four URL variations all collapse into one (uppercase, country prefix, tracking parameters, and trailing slash are all ignored). Jörg's two rows also collapse, because the encoded characters (%C3%B6) decode back to the accented version. Charlie stays separate once the #about part is stripped.

01 What it does

A small toolkit for everyday CSV chores.

Open the menu bar popover, drop in your files, select the changes to apply, and get the processed file back. No setup, no learning curve.

Merge two files

Append, inner-join, left-join, or “only in first” to compare lists. Smart column matching helps when headers don’t quite line up.

Deduplicate rows

Find exact or fuzzy duplicates by any column. Flag them for review or remove them outright.

Normalize messy data

Clean emails, tidy LinkedIn URLs, normalize phone numbers, parse mixed date formats, fix title case. The fiddly stuff, done in one pass.

Find & replace

Across one column or every column. Literal text, case-sensitive or not, with whole-cell-only mode for exact matches.

Mask private columns

Hash, redact, or partial-mask any column before you share. Email, phone, name. Keep the shape, hide the values.

Trim & tidy

Strip whitespace, drop empty rows, remove columns you don’t need. The cleanup nobody wants to do by hand.

Filter rows

Keep or remove rows that match a column condition. Equals, contains, starts with, ends with, is empty.

Split big files

Break a large file into smaller pieces (100 rows or more). Every piece keeps the header row.

Save as a preset

Save a whole pipeline as a preset. With one selected, just drop files in and Rowmate processes them automatically, no extra clicks.

02 Why Rowmate

Spreadsheets shouldn't need a cloud.

Most CSV cleaners want you to upload your data to a website. Rowmate doesn't. It's a small, native macOS app that runs on your machine, so your file never leaves the desk.

Lives in the menu bar. Drop a file, get a result
100% on-device. No upload, no server, no model training
Auto-detects encoding and delimiter
Cleans LinkedIn profile URLs, dropping tracking and tidying /in/ links
Process multiple files in one drop
Save pipelines as presets, re-run with one click
Privacy-safe column masking for sharing
One-time purchase. No subscription
03 Questions
Is my data private?

Yes. Rowmate runs entirely on your Mac. No file you open in Rowmate is ever uploaded, copied, or sent anywhere. No analytics, no telemetry, no account.

What file types does it handle?

CSV files (comma, tab, or semicolon separated) all work. Rowmate figures out which separator your file uses, handles tricky cases like cells with line breaks inside them, and saves the result so it opens cleanly in Excel and Google Sheets, including accented characters.

Does it clean LinkedIn URLs?

Yes. Run Normalize > LinkedIn URL on the column and Rowmate strips tracking junk and country prefixes, leaving clean URLs like https://linkedin.com/in/alice. Deduplicate and Merge also recognise different versions of the same URL as the same person automatically, so duplicates get caught even without running Normalize first.

How big a file can it handle?

Rowmate is built for everyday spreadsheets, the kind you'd open in Numbers or Excel without a second thought. Files up to a few hundred megabytes process comfortably; multi-gigabyte CSVs are out of scope for this version.

Does Rowmate use AI?

No. Every operation is deterministic and runs locally on your Mac. Same input, same result, every time. Your CSVs are never sent to a server, never used to train any model, and never seen by anyone but you.

Will it overwrite my original file?

Never. Rowmate always writes the result to a new file next to the original, so your source data is left exactly as it was.

Does it run on iPhone or iPad?

No. Rowmate is a native macOS app and only runs on a Mac.

Is it a one-time purchase?

Yes. One price on the Mac App Store, no subscriptions, no in-app purchases.