UtilityToolsLab

© 2026 UtilityToolsLab. Built and maintained by the UtilityToolsLab Team.

About·Changelog·Privacy Policy·Terms of Service·Contact
HomeML & Data PrepData Anonymizer

Related Tools

Data Normalizer

Data Anonymizer — CSV PII Removal

Paste any CSV, toggle which columns hold PII, and choose Redact, Hash or Fake per column. Anonymised CSV downloads instantly — nothing leaves your browser.

You Might Also Like

All ML & Data Prep

Data Normalizer

Rescale a numeric dataset with Min-Max Scaling or Z-Score Standardisation. Value-by-value table, visual bars, Copy CSV and Download CSV.

Case Converter

Convert text between UPPERCASE, lowercase, Title Case, Sentence case, camelCase, PascalCase, snake_case, and kebab-case.

Lorem Ipsum

Placeholder text in 20 languages — English, Bengali, Hindi, Arabic, Spanish, French, Chinese and more. Paragraphs, sentences, words, lists, optional emoji.

English Lorem Ipsum

Generate free English Lorem Ipsum dummy text for web design, layouts, and mockups. Classic Latin filler text in paragraphs, sentences, words, or lists.

Paste a CSV into the Data Anonymizer, and it reads the header row to auto-detect columns that look like PII. Name, email, phone, SSN, date of birth and similar fields are toggled on by default; columns that look like IDs or categories are left alone. Click any toggle to change that judgment for a column, pick a strategy, and the anonymised CSV updates in real time.

Three strategies cover the most common compliance and testing workflows. Redact replaces every cell value with a placeholder tag, so a name becomes [NAME] and an email becomes [EMAIL]. Hash applies an 8-character hex digest (djb2) so the field is unreadable but the same input always maps to the same token, which preserves relational joins. Fake substitutes a plausible synthetic value drawn from pools of invented names, fiction-block phone numbers and unreachable email addresses, so the output still looks like a real dataset to a user interface under test.

Step by Step: Anonymising the Sample Customer Table

  1. Click Load Sample. The tool loads a 5-row CSV with columns id, name, email, phone, age and city.
  2. The column panel opens automatically. name, email and phone are toggled on (detected as PII);id, age and city are off.
  3. With Redact selected, the anonymised CSV replaces Alice Thornton with [NAME], alice.thornton@mailexample.test with [EMAIL] and 555-0142 with [PHONE] across all five rows.
  4. Switch to Fake for the name column only: each row receives a synthetic name from the fiction pool while email and phone stay redacted. Column-level strategy overrides the default.
  5. Press Download to save anonymized-data.csv.

Edge Cases: What Gets Detected and Where It Stops

  • PII detection is heuristic: column names containing name, email, phone, ssn, dob, address, zip, passport or credit (case-insensitive, separators stripped) are auto-toggled. Any column not matching that list starts as off.
  • Fake values are not unique. The pool cycles modulo 10, so a table with more than 10 rows will repeat fake names and emails. For uniqueness across large datasets, use Hash instead.
  • The Hash strategy applies djb2, an 8-hex-char non-cryptographic digest. It is deterministic (same input, same token) and useful for referential integrity, but not suitable for security-grade pseudonymisation. A dataset that requires GDPR pseudonymisation for legal purposes needs a keyed cryptographic function.
  • Cell content is anonymised; column names are preserved. If your column is literally named name and that itself is sensitive, rename it before uploading.
  • Input is capped only by browser memory. A 10,000-row CSV processes in under a second on a modern machine, because the entire computation is a string walk with no server round-trip.

First row must be a header. Comma-separated; quoted fields with embedded commas are supported.

Default anonymisation strategy

Redact replaces with a tag like [NAME].  Hash replaces with an 8-hex-char digest (irreversible).  Fake substitutes a plausible synthetic value.

Columns — toggle anonymisation per column

id
name
email
phone
age
city

Columns

6

Anonymised

3

Kept

3

Rows

5

Anonymised CSV