Email & PII Masker
Mask emails, phone numbers, credit cards, and IP addresses in any text — for screenshots, blog posts, logs.
Masked output appears here.
How to use
- Paste text containing personal info.
- Pick what to detect (email, phone, card, IP) and how many edge characters to keep visible.
- Copy the masked text and replace the original wherever you were about to share it.
About this tool
ShowHide
Redact email addresses and other sensitive strings before they appear in a screenshot, a support ticket, a bug report or a slide. Each address is masked in three parts so it stays recognisable as an address: the local part keeps a few characters at each end, the domain name keeps one at each end, and the top-level domain is left alone so the shape still reads. Choose how many characters to keep and which character to mask with. Worth being clear-eyed about what this is: obscuring, not anonymising. The length is preserved and the domain is visible, so a short address at a small company is barely hidden — for anything that genuinely must not be traced back, replace the value rather than masking it.
Frequently asked questions
Why is the IP detector off by default?
IP-like numbers (1.2.3.4) match many version strings (2.0.10.5). Off by default to avoid false positives — turn on only when you know your text contains real IPs.
Are credit card masks safe to share?
Keeping first 4 + last 4 is the standard 'card display' format used by Stripe, banks, etc. Don't try to mask less than that — last-4-only is often required to look up a transaction.
What about names and addresses?
Names and addresses don't have a reliable regex. For those, manual redaction (or LLM-based extraction) is still the right tool — out of scope here.
Will it mask in URLs or query strings?
Yes — ?email=foo@bar.com gets masked just like prose. Same for emails inside JSON, logs, or HTML attributes.
Does masking make a document anonymous?
No, and the gap matters. The mask preserves length and position, so j******n@e*****e.com still tells a reader the local part is eight characters, starts with j and ends with n, and that the domain has seven letters before .com — a short list of candidates, not an unknown. Everything the patterns do not recognise also survives untouched: names, addresses, account references, and the surrounding sentences that make a partly-masked record identifiable. Use this to scrub a log before pasting it into a ticket, not to produce a shareable dataset.
Will it mask things that are not really contact details?
Often, because the patterns match shape rather than meaning. The phone rule takes any 9-to-20 digit run with spaces, dashes or brackets, so it also claims an ISBN like 978-0-13-235088-4 and a build stamp like 2024 10 01 1200. The card rule takes any 13-to-19 digit run, which catches an IMEI and a millisecond timestamp such as 20260822093000123. Over-masking is the safe failure, but it silently damages logs, so read the output before you use it and turn off the detectors you do not need.
Related tools
Credit Card Instalment Fee Calculator (Korea)
Work out the fee and each payment for a Korean credit-card instalment plan from the amount, months, annual fee rate and any interest-free months.
Everyday
Credit Card Validator (Luhn + Brand)
Validate a card number with the Luhn checksum, detect brand (Visa/MC/Amex/etc), and check expected length. Local, no network.
Developer
NATO Phonetic Alphabet
Spell any text in the NATO / ICAO phonetic alphabet — Alpha, Bravo, Charlie — for radio, phone, and dictation.
Text
Phone Number Formatter (E.164 / International / National)
Normalize messy phone input into E.164 (+15551234567), international (+1 555 123 4567), national, and tel: URI formats.
Text
Email & URL Extractor
Pull every email address or URL out of a block of text, in your browser.
Text
Character & Word Counter
Count characters, words, sentences, lines, and bytes in real time.
Text