PII Masker & Sanitizer — Local Text Redaction

PII masker and sanitizer — VH Original

Mask email addresses, phone candidates, Luhn-valid card candidates and custom names locally. Review the output before sharing sensitive text.

Use this free browser tool for a focused check of your text. Start with the fictional sample to understand the output, then analyze your own input and review the stated limits.

How to use

Paste plain text, choose the detector categories and add names or other sensitive phrases one per line. Analyze replaces matched spans with [REDACTED]. Copy the reviewed result when ready. Each option can be turned off independently.

PII masker and sanitizer — VH Original
Tool illustration — VH Original

How it works

Email detection handles common unquoted address formats. Phone detection looks for 10–15 digits in common spacing patterns. Card candidates use 13–19 digits and the Luhn checksum. A checksum match does not establish that a card exists. These are heuristics, not comprehensive identity detection.

Limits and review

Names are not automatically identified. Add them in Custom names / terms. Matching is case-insensitive literal substring matching; punctuation is escaped rather than treated as a regular expression. Overlapping matches are merged so no part of an overlapping sensitive span leaks.

Example and results

The fictional example includes demo@example.com, a reserved example phone number, a widely used test card number and Demo Person. All four should be masked with the sample settings. Counts refer to merged redaction spans, not every overlapping detector hit.

Practical guidance

Read every result before sharing it. This tool can miss addresses, account IDs, unusual phone formats, obfuscated email and contextual identifiers. It may mask ordinary long numbers. Removing explicit identifiers alone does not guarantee anonymization.

Frequently asked questions

Does it require an API?

No. This tool processes input locally in JavaScript without an external service.

Is input saved?

The tool keeps no input history or server copy. Copying places the result in your clipboard.

What happens when input changes?

The old result clears. Analyze again to generate output for the current input.

Is the result a final decision?

Names are not automatically identified. Add them in Custom names / terms. Matching is case-insensitive literal substring matching; punctuation is escaped rather than treated as a regular expression. Overlapping matches are merged so no part of an overlapping sensitive span leaks.

Reference / संदर्भ · More tools