Anonymise spreadsheet rows before an AI analyses them

Copy a block of cells straight out of Excel, Google Sheets or Numbers and paste it below — tab-separated text works exactly like anything else here. Or drop a .csv, .tsv or .json export onto the panel.

Every distinct value gets a stable placeholder, so the columns stay analysable: the model can still group by customer, count repeat rows and spot that two lines share an email address, without ever seeing which customer or which address.

Replace with
network while you type: 0 requests

Your text

0 characters

Safe to paste

waiting for text
The cleaned version appears here as you type — highlighted so you can see exactly what changed.
CtrlEnter
no personal data yet Everything below happens in this browser tab. Nothing is uploaded, and nothing you type is saved.

    Preset: realistic stand-in values, so charts and summaries still read naturally.

    What to look for — 30 detectors, custom terms, exceptions

    People & organisations

    Government & health IDs

    Financial

    Technical & secrets

    Location

    For the things no word list can know: internal codenames, unusual surnames, a product that isn’t public yet. Custom terms are never saved.
    Values on this list stay in the text and out of the mapping — useful when the model needs your own company name to answer usefully.
    Step 3 — paste the AI’s answer here to put the real values back

    The model replies using the placeholders. Paste its answer below and every [NAME_1] becomes the real name again — using the mapping held in this tab, which is the only copy that exists.

    How it works

    1. Open this page — the detectors are already set for “Spreadsheets & CSV”.
    2. Paste your text, or drop a .txt, .md, .csv, .json or .log file onto the panel.
    3. Check the highlights: every match is coloured by type, and one click keeps a type as-is.
    4. Copy the safe version and paste it into the AI tool of your choice.
    5. Paste the model’s reply back into step 3 to restore the real values.

    Why consistency beats deletion for tabular data

    Delete the customer column and you lose the analysis. Replace it with a random string per row and you lose it too — the model can no longer see that rows 1 and 3 are the same person, which is exactly the duplicate-charge pattern you wanted it to find. Stable substitution keeps the join key while destroying the identity behind it.

    That property holds across pastes as long as the tab stays open, so you can work through a large export in chunks and still get consistent labels in every chunk.

    What to check before you paste a table

    Tables re-identify people through combinations, not single cells. A postcode, a birth date and a gender have been enough to identify a large share of a population in published studies; the same effect turns up in ordinary business data whenever a category has very few members. If your table has one customer in a small town, no amount of name-swapping hides them.

    Two practical habits help: drop the columns the analysis does not need before you paste, and be suspicious of free-text columns. Notes fields are where addresses, phone numbers and full names hide in a table that otherwise looks clean — the detectors will catch many of them, but you should read them.

    Tips

    Detectors are pattern-based and imperfect: read the highlighted output before you paste it anywhere, and confirm your own confidentiality obligations against the current rules for your profession, employer or jurisdiction. Compiled 2026-07-29.

    Frequently asked questions

    Does it handle CSV quoting and commas inside fields?

    It treats the file as text rather than parsing the grid, which is what makes it robust: quoting, ragged rows and embedded newlines cannot break it, because the scrub never needs to know where the cell boundaries are.

    How big a file can I drop in?

    5 MB from disk. Above roughly 120,000 characters the highlight layer switches off to keep the page responsive; the scrub and the copy button keep working normally.

    Can I get the real values back into the model’s answer?

    Yes — paste the answer into step 3. With the fake-values style, “Jordan Blake ordered twice” becomes the real customer’s name again, using the mapping that only exists in this tab.