Data Anonymizer

Mask or redact emails, phone numbers, IPs, credit cards, IBANs and SSNs in any text.

Data types to detect

Paste text above — emails, phone numbers, IPs, cards, IBANs and SSNs are masked instantly.

No uploads. Your files stay on your device.

Free forever, no sign-up, no cookies. Buy me a coffee

How it works

Paste any text — a log file, a CSV export, a support ticket, a bug report — and the anonymizer scans it for personally identifiable information with pattern matching: email addresses, phone numbers, IPv4 addresses, credit card numbers (validated with the Luhn checksum so random digit strings are not mangled), IBANs, US Social Security numbers and URLs. Add your own words — customer names, project code names, internal hostnames — in the extra words box to redact those too.

Three masking styles cover the usual needs. Redact replaces every hit with a type label such as [EMAIL]. Pseudonymize gives each distinct value a stable token like [EMAIL_1], so the same person stays the same person throughout the file and the data is still useful for debugging. Partial mask keeps a recognisable tail — j***@example.com, **** **** **** 1111, 192.168.*.* — for reports where a human still needs to spot the record.

Everything runs in your browser with plain JavaScript regular expressions. Nothing is uploaded, logged or sent to a server, which is the whole point: you can safely scrub production data before pasting it into a ticket, a chat or an AI prompt. Pattern matching is not perfect — always re-read the result before sharing it.

Frequently asked questions

What personal data does the anonymizer detect?

It scans your text for email addresses, phone numbers, IPv4 addresses, credit card numbers (verified with the Luhn checksum so random digit strings are left alone), IBANs, US Social Security numbers and URLs. Each type has its own checkbox, so you can leave IPs or URLs untouched if your log still needs them. You can also list extra words — customer names, project code names, internal hostnames — and they are redacted as well.

What is the difference between redacting and pseudonymizing?

Redacting replaces every match with a plain type label such as [EMAIL], which is the safest option when the data is going somewhere public. Pseudonymizing gives each distinct value a stable token like [EMAIL_1] and [EMAIL_2], so the same address stays the same token everywhere in the file and you can still follow one user through a log. Partial masking keeps a recognisable tail instead — j***@example.com or **** **** **** 1111 — for reports where a human needs to match records.

Is my data uploaded anywhere?

No. The whole tool is JavaScript running in your browser tab: the text you paste is never sent to a server, never logged and never stored. That is why it is safe to scrub production logs, support tickets or exports before pasting them into a bug report, a chat message or an AI prompt. Because detection is pattern based it is not perfect, so always re-read the result before sharing it.

Report a bug