Guide
Masking personal data in CSV and Excel files before sharing them
Sharing a dataset is often necessary: a vendor needs a customer export to debug an import, a student needs realistic data for a thesis, a support team needs an example file. Sending real names, emails and phone numbers along is risky and often against data protection rules. This tool masks personal data column by column so the file stays useful while the people in it are protected.
A suggestion for every column
When you open a file, each column gets a suggested action based on its name and values. Email columns are masked with the domain kept, phones and account numbers keep their last digits, name columns get consistent pseudonyms, birth dates are reduced to the year, street addresses are redacted, ZIP codes are shortened, IP addresses are hashed and salaries rounded. Columns that look harmless are kept. Review every suggestion, since you know your data best.
Removing and redacting
“Remove the column” drops it from the output entirely, the safest choice for anything the recipient does not need. “Replace with [REDACTED]” keeps the column but hides its content, useful when a template requires the column to exist.
Masking
“Mask, keep the last characters” replaces letters and digits with dots but keeps the last few characters and all punctuation, so a phone number still looks like a phone number and a card number shows its last four digits, as on a receipt. “Mask email, keep the domain” shows the first letter and the domain, like a•••••@example.com, which keeps domain statistics possible.
Hashing with a secret key
Hashing replaces each value with a token computed by HMAC-SHA-256. The same value always gives the same token, so counts, joins and duplicate checks still work. Because the token depends on a secret key, nobody without the key can recompute tokens from a list of known emails. A random key is created for you; keep it if you need to mask more files consistently, or discard it for one-off sharing.
Pseudonyms
Pseudonyms replace each distinct name with a label like Person 01, Person 02, consistently throughout the file and ignoring upper/lower case. They read naturally in reports and demos.
Generalizing
“Year only” and “Year and month” coarsen dates of birth or visit dates. “Round to a step” turns salaries or ages into bands, such as 48,250 into 48,000. “Keep only the first characters” shortens ZIP codes to a region, such as 02134 to 021. Generalizing keeps data useful for statistics while making individuals harder to recognize.
Shuffling
“Shuffle the values between rows” keeps every value but moves them to other rows, which preserves the overall distribution of a column while breaking the link to each person.
Not anonymous by default
Masking direct identifiers is pseudonymization. Under laws like the GDPR, pseudonymized data is still personal data. Remove what is not needed, generalize what remains, and follow your organization’s rules.
Before you send the file
Open the masked file and read a few rows as if you were the recipient. Free-text columns such as notes or comments often contain names, phone numbers or addresses typed by staff; remove or redact them unless they are essential.
Related tools
Generate realistic fake data instead with the Mock Data Generator. For one-off hashes, use the Hash Generator; for documents, Redact PDF removes text permanently.
Checked against the current version of the Anonymize CSV Data on .

