Skip to content
unformation
Back to the blog

Blog

How to anonymize an Excel export (XLSX) before sharing it with an AI

Anonymize a spreadsheet in your browser: which cells change, why formulas stay intact, how IBAN and ID checksums help, review tips, caveats and a manual route.

Published 7 min read

Spreadsheets are the files with the highest density of personal data most teams handle: a customer export with a name, email, phone, address and IBAN on every row; an HR list with national IDs; a support log with ticket text. They are also the files people most often want to hand to an AI assistant, for a pivot, a summary or a formula. This guide shows how to anonymize an XLSX in your browser with Unformation, what exactly changes inside the workbook, what does not, and how to do it by hand when a tool is not an option.

What "anonymize an XLSX" means in practice

The goal is not to blank the sheet. An assistant asked to "find duplicate customers" or "which region has the most complaints" needs the structure of the data intact: the same person should stay the same person across rows and sheets, an email should still look like an email, and numbers should still be numbers. That is pseudonymization with consistent labels: "Jane Doe" becomes "Person 1" everywhere, "Acme GmbH" becomes "Company A", jane@acme.example becomes email1@example.com. See pseudonymization vs anonymization vs redaction for why this beats deleting columns.

How Unformation handles a workbook

An .xlsx file is a zip archive of XML parts. Unformation opens it in your browser (nothing is uploaded; the tool shows "0 network requests" and works with Wi‑Fi off) and reads the parts where text lives:

  • Shared strings. Excel stores most cell text once in a shared table and points cells at it. Replacing a value there replaces it in every cell that uses it, across all sheets, in one step.
  • Inline strings. Some exports write text directly into the cell; those are read and replaced too.
  • Sheet names. A tab called "Müller GmbH" or "J. Doe pipeline" is a text unit like any other.
  • Cell comments and their authors. Notes on cells often contain names; the author field of a comment is a name by definition.
  • Document properties. Author, last modified by, company and similar fields are scrubbed.

What is not touched:

  • Formulas. Formula text is left as is. A formula that references a cell keeps working because the cell still exists; a formula that hard-codes a name in a string literal (=IF(A2="Jane Doe",1,0)) is not rewritten. Check those in review.
  • Numbers, dates and formatting. Numeric cells, number formats, styles, column widths, merged cells, conditional formatting and charts stay as they are.
  • Images and embedded objects. Text inside a pasted screenshot is not read.

The output is a valid .xlsx that opens in Excel, LibreOffice or Google Sheets, plus a Markdown rendering of each sheet you can paste into a chat, plus the mapping table.

Structured values: patterns and checksums

Spreadsheets are full of structured identifiers, and those are the easiest to catch reliably. Unformation combines patterns with checksum validation so it does not flag every 26-character string as an IBAN:

Value typeHow it is recognizedExample replacement
IBANcountry prefix, length, mod-97 checkIBAN 1 or an IBAN-shaped placeholder
Payment card numberlength and Luhn check digitmasked or labelled number
Turkish national ID (T.C. kimlik)11 digits with two check-digit rulesID 1
Turkish tax number10 digits with check ruleTax ID 1
Emailpatternemail1@example.com
Phoneinternational and local patterns+49 30 0000001
Names and companiesyour dictionary, plus the optional in-browser modelPerson 1, Company A

The checksum step matters in spreadsheets specifically: order numbers, SKUs and internal references often look like IDs. A value that fails the check digit is left alone unless you add it yourself.

Step by step

The flow is four steps: upload, choose a rule, review, download.

  1. Upload. Open the XLSX anonymizer and drop the workbook (up to 10 files, 50 MB each). The file stays on your device.
  2. Choose a rule. Labels ("Person 1", "Company A") are the best default for AI tasks. Redaction, fake values, masks and hashes are available per category if you need them, for example masks for card numbers and labels for names.
  3. Review. The tool lists every candidate grouped by category, with the sheet and cell it came from. Untick values you want to keep (your own company name, product names that look like people), add missed values to your dictionary, and switch on the optional model if the sheet has free-text columns with names.
  4. Download. Get the anonymized .xlsx, the Markdown version and the mapping table (CSV or JSON). Keep the mapping table local; it is what the de-anonymizer uses to restore real values in the AI's answer.

Tips for spreadsheets

  • Consistency across sheets is automatic, use it. Because shared strings are replaced once, "Jane Doe" on the Customers sheet and on the Orders sheet both become "Person 1". That is what keeps VLOOKUPs and pivots meaningful after anonymization.
  • Export the mapping as CSV. A CSV mapping opens next to the workbook and can be joined back onto results later. Store it outside the folder you share.
  • Check string literals in formulas. Search the review list for the sheet name of formula-heavy tabs and, after download, use Excel's Find (Ctrl+F, look in Formulas) for any remaining name.
  • Watch free-text columns. A "Notes" column is where names hide without structure. Turn on the optional model or add the names to your dictionary.
  • Decide about dates. Birth dates and hire dates can identify people in small datasets. Unformation can label dates; consider whether the AI task needs them at all.

Caveats you should know

  • Hidden sheets and hidden columns are processed like visible ones. That is the safe direction, but it also means the assistant will not see the hidden data unless you unhide it, and you may not notice that a hidden tab existed. Unhide everything before review so you know what is in the file.
  • Pivot caches. A pivot table keeps its own cached copy of the source data inside the workbook. Unformation replaces text in the sheets and shared strings; a stale pivot cache may still hold original values until the pivot is refreshed. Before sharing a workbook that contains pivots, refresh them on the anonymized copy, or remove the pivot and let the assistant build its own summary from the sheet.
  • External links and queries. Power Query connections and links to other workbooks are not part of the sheet text; they may contain file paths with names. Remove connections you do not need.

Manual alternative

If you cannot use a tool, you can still do a reasonable job in Excel:

  1. Save a copy. Work only on the copy.
  2. Unhide all sheets, rows and columns (right-click a tab, Unhide; select all, Unhide rows and columns).
  3. Add a helper column next to each identifying column and fill it with labels: ="Person "&ROW()-1 for names, ="email"&ROW()-1&"@example.com" for emails. Copy, then Paste Values over the original column, and delete the helper. This gives one label per row, not per person; if the same person appears on several rows, sort by the original first or use a lookup table.
  4. For a proper mapping, put the unique original values on a separate sheet with their labels, use XLOOKUP or VLOOKUP to replace, then paste as values and move the mapping sheet to a separate file.
  5. Use Find and Replace (Ctrl+H) for company names and other repeated strings, with "Match entire cell contents" off so partial matches inside notes are caught. Check "Within: Workbook".
  6. Delete comments (Review, Delete All Comments), refresh or remove pivot tables, remove data connections (Data, Queries and Connections), and run File, Info, Inspect Document to strip properties and hidden content.

It works, but the manual route has no memory of what it changed and no checksum logic, so a second person cannot verify it easily. That is the main reason to prefer a tool that produces a mapping table.

Do it now

Drop your export into the XLSX anonymizer. It runs in your browser, keeps formulas and formatting, and returns a workbook plus a mapping table you control. For the finance-specific scenario, see the finance use case; for the design behind "nothing leaves your device", see how it works.

Try it on your own document

Anonymize a DOCX, PDF, PPTX, XLSX or text file in your browser. No upload, no account, works with Wi‑Fi off.

Open the tool

Blog

More from the blog

All posts