Excel Tools

Anonymize or pseudonymize personal data in Excel

Choose what to do with each column: replace names and emails with consistent keyed pseudonyms, mask IDs, turn dates of birth into years, shuffle or drop columns. A k-anonymity check shows which rows could still single someone out.

No file at hand? (fictitious people)

How to anonymize an Excel file

  1. Open the file. Excel, OpenDocument or CSV. Pick the sheet if the workbook has several.
  2. Check the method of each column. Emails, names and IDs are proposed as pseudonyms, phone numbers and IBANs as masked values, dates of birth as years and postcodes as a prefix. Change anything you like.
  3. Set a key if you use pseudonyms: your own long passphrase or a generated random key. Copy it somewhere safe if you will process more files later.
  4. Mark the quasi-identifiers and read the k-anonymity check. If many rows are unique, generalise more (year instead of month, fewer postcode digits) or drop a column.
  5. Download the Excel file. It contains the transformed data, a “Method” sheet that documents every column and the algorithm, and the list of groups below your target k.

Private by design: no upload

Anonymizing data on a website that uploads it first defeats the purpose. Here the file is read and transformed by JavaScript inside your browser, in a background worker, and the pseudonym key is only kept in memory while the page is open. Nothing is sent to a server and nothing is stored in your browser.

You can check it in the Network tab of the developer tools, or go offline after the page has loaded and keep working.

The methods and when to use them

Pseudonymisation is not anonymisation

The two words are often mixed up, and the difference matters under the GDPR. Pseudonymisation replaces identifiers with codes, but the data can still be attributed to a person with additional information, such as the key or the original file. The GDPR defines it in Article 4(5) and Recital 26 states that pseudonymised data should still be considered information about an identifiable person. In other words, it remains personal data: the GDPR still applies, although pseudonymisation is recognised as a useful safeguard.

Anonymous data is information that can no longer be related to anyone, taking into account all the means reasonably likely to be used, including other data the recipient may have. Only then does the GDPR stop applying. Removing names is rarely enough: a combination such as date of birth, postcode and gender can be unique for many people.

This tool gives you the building blocks and a risk indicator, but it cannot tell whether a particular result is anonymous, and using it does not make a processing operation compliant. That assessment depends on the data, the purpose, the recipient and the other information available. When in doubt, ask your data protection officer or follow the guidance of your supervisory authority.

Why a key, and not a plain hash

A plain SHA-256 or MD5 of an email or a phone number looks random, but it is easy to reverse: an attacker hashes a list of all likely emails or every possible phone number and compares. With a keyed HMAC, the same calculation is impossible without the secret. Your passphrase is stretched with PBKDF2-SHA256 (200,000 iterations, a fixed public salt) so that a short passphrase is harder to guess; a generated random key of 32 bytes is better still. The “Method” sheet records a key check value: if two files show the same check value, they were made with the same key, but the value does not reveal the key.

What k-anonymity tells you

Choose the quasi-identifiers, the columns that are harmless alone but identifying together. The table is k-anonymous when every combination of their values appears in at least k rows. The check runs on the transformed values, so you can see the effect of generalising: turning dates of birth into years and keeping two postcode digits usually turns hundreds of unique rows into groups of several people. Rows in groups smaller than your target are listed so you can generalise further or remove them.

k-anonymity is a well-known risk measure, not a guarantee: a group where everyone shares the same diagnosis still reveals it (that is what l-diversity addresses), and data published by others can be linked with yours.

Other ways to do it

Excel has no built-in anonymization. People usually replace values by hand, use RAND() with sorting to shuffle, or hash with a VBA macro. There are also browser extensions, Excel templates from data protection authorities and Python libraries. This page puts the common methods, a consistent keyed pseudonym and a k-anonymity check in one place, without installing anything.

Known limitations

Frequently asked questions

Is the anonymizer really free?

Yes. It is 100% free, with no usage limits, no account and no sign-up. There is no paid plan and no feature is locked.

Are my files uploaded to a server?

No. The file is read and transformed inside your browser, in a background worker, and the key never leaves your device. The page only downloads its own code and open-source spreadsheet libraries from this site. If you accept analytics cookies, Google Analytics receives anonymous usage data such as page views, never the contents or names of your files.

Is pseudonymised data anonymous under the GDPR?

No. Under the GDPR, pseudonymised data is still personal data, because whoever holds the key, or enough other information, can link it back to a person. Only data that can no longer be attributed to anyone by reasonably likely means is anonymous. This tool helps you reduce risk, but it cannot decide whether your result is anonymous: that depends on the data, the context and who receives it.

Will the same person get the same pseudonym in different files?

Yes, if you use the same key and the same normalisation setting. The pseudonym is an HMAC-SHA256 of the value, so “Ana@example.com” in January’s file and “ana@example.com ” in February’s file get the same code and you can still join them. Keep the key safe: anyone who has it can recompute the pseudonym of a known value.

Why not just hash the column with SHA-256?

Because a plain hash of an email, phone number or ID can be reversed by hashing every likely value and comparing. A keyed HMAC cannot be recomputed without the secret key, so it is much harder to attack, as long as the key stays secret and is long enough.

What is k-anonymity?

A dataset is k-anonymous on a set of quasi-identifiers (for example year of birth, postcode and gender) when every combination appears in at least k rows. A row that is unique on those columns can single out a person even without a name. The report shows the smallest group and the rows below your target; it is a risk indicator, not a guarantee.

Can I reverse the pseudonyms?

Not with this tool, and not directly: HMAC is one-way. If you need to go back, keep the original file in a safe place, or keep a lookup table of original value and pseudonym separately from the shared data.

Which files can I anonymize?

Excel (.xlsx, .xlsm, .xls, .xlsb), OpenDocument (.ods) and CSV or TSV files. One sheet is processed at a time and the result is an .xlsx file.

Analytics: only if you accept cookies, the page loads Google Analytics (through Google Tag Manager) to count visits and see which tools are used. It never receives the contents or names of your files. You can change your choice at any time with “Cookie settings” at the bottom of the page.