PII Detector & Redactor

Find and mask emails, phone numbers, NINOs, SSNs and card numbers in text

Ad placeholder (leaderboard)

Before you paste a log, support transcript, or document into a ticket, a chat, or an AI tool, you should strip out personally identifiable information (PII). This detector scans text locally for the structured identifiers that most often leak — emails, phone numbers, government IDs, and card numbers — and replaces each with a typed, numbered token so the result is safe to share but still readable.

How it works

Each PII type has a dedicated rule that runs entirely in your browser:

  • Email and IPv4 are matched with standard format patterns.
  • Payment cards are matched as 13–19 digit runs and then confirmed with the Luhn checksum, so numbers that fail the check digit are ignored.
  • UK National Insurance numbers use the official prefix rules (excluding invalid prefixes like BG, GB, NK) and an A–D suffix.
  • US SSNs exclude impossible group/area values such as 000, 666, and 9xx.
  • Phone numbers are matched broadly and then required to contain at least 10 digits to avoid catching short codes.

Overlapping matches are resolved so a single span is never double-tagged, and each distinct value is assigned a stable token — [EMAIL_1], [PHONE_2], and so on.

Tips and notes

  • Run the output through your own eyes before sharing. Names, street addresses, and other free-text PII are deliberately not auto-detected because heuristic name matching produces too many false positives and misses.
  • The numbered tokens preserve structure: if a log mentions the same user three times, all three become [EMAIL_1], so the redacted text still makes sense.
  • Passport detection is intentionally broad (any 9-digit run) and may catch other 9-digit identifiers — review those matches in context.
  • Because everything is local, this is safe for confidential material. There is no upload, no network request, and no storage of your input.
Ad placeholder (rectangle)