Text Redactor

Files & data

Mask emails, numbers and card details in pasted text.

Redacted
Please pay Juan Cruz (#########@example.com, ####-###-####) the amount of 45,000 from card #### #### #### ####.
3 values masked
Values masked3
Rules on5
Characters111
What to mask
What was masked
Email addressline 1#########@example.com
Philippine mobile numberline 1####-###-####
Card-like numberline 2#### #### #### ####
This is not de-identification. Names, addresses, job titles and free-text identifiers are not detected and cannot be — a document redacted here may still identify somebody by everything that was left in. Read the output before sending it.

How to use

What it's for

Cover email addresses, mobile numbers, card numbers and similar details in a piece of text before you share it — a complaint to a shop, an error log for IT support, a message you will post online.

Before you start

Have the text ready to paste, and know which details must not be seen. It is all done in your browser; the text is not sent, logged or kept anywhere.

  1. Paste the text

    Paste it into the Text box, replacing the sample.

  2. Choose what to cover

    Under What to mask, five kinds are ticked to start: Email address, Card-like number, Philippine mobile number, TIN-like number and IP address. Untick any you want to leave visible.

  3. Cover every number, if you need to

    Tick Number to cover every other figure as well — amounts, account and order numbers. It is off at first because it also covers dates, times and prices you may want to keep.

  4. Redact, check, then copy

    Press Redact to bring the result into view — it also updates as you type. Read the covered text from top to bottom, then press Copy and send that instead of the original.

Reading the result

  • Redacted: your text with each detail found covered by # signs. Most covers are as long as what they hide, so the text still reads sensibly; an email keeps the part after the @, and a card number always becomes #### #### #### ####.
  • Values masked: how many details were covered. Rules on is how many kinds you have ticked.
  • What was masked: each covered detail with its kind and line number, shown only in its covered form, so you can check that nothing was missed.

If it goes wrong

  • A name or a home address is still showing: the tool finds patterns such as emails and numbers, not names, addresses or job titles — the note This is not de-identification says so. Remove those by hand.
  • A long number was left alone: it failed the check every real card number passes, so it was not treated as a card. Tick Number to cover it anyway.
  • A note says Nothing matched.: that only means no pattern was found, not that the text is safe. Read it yourself before you send it.

What this is

This site already does this to itself. Every error report is masked before it is stored — a salary of 45,000 is recorded as ##,### — and the privacy policy explains it in exactly those terms. This is the same machinery pointed outward.

It reports what it found, and that is half the tool. A redactor that silently returns clean-looking text gives you no way to check it worked — and the failure you care about, something missed, is invisible.

Masks preserve shape, never content: 45000 becomes ##### rather than [REDACTED], because the length is usually the point. The exception is a card number, where the length itself identifies the issuer.

And the limit, stated plainly: this is not de-identification. Names, addresses and job titles are not detected and cannot be.

Questions

Is my text sent anywhere?

No. The redaction happens in your browser, in this site’s own calculation engine. Nothing is transmitted, logged or stored — which matters here more than on most pages, because the text you paste is by definition the text you did not want to share.

Why does it show a list of what it masked?

Because a redactor that silently returns clean-looking text gives you no way to check it worked, and the failure you care about — something missed — is invisible. The list shows what was found and on which line, so the output can be audited. It never shows the original value: printing what was redacted would undo the redaction on the same screen.

Why are the masks the same length as the original?

Because the shape is usually the point. Replacing 45,000 with ##,### tells a reader a five-figure amount was there, which is often what makes the redacted document still make sense. The exception is a card number, where the length identifies the issuer — fifteen digits means Amex — so that one is masked to a fixed width instead.

Why was a long number not treated as a card?

Because it failed the Luhn check, the arithmetic every real card number satisfies. A sixteen-digit order reference is far more common than a card number in most documents, and masking every long digit run as a card would be wrong more often than right. If you want it masked anyway, switch on the number rule.

Does this anonymise a document?

No, and this is the important limit. It finds patterns — email addresses, numbers, card and phone formats. It cannot find names, addresses, job titles or the fact that there is only one person in your company with that role. A document redacted here may still identify somebody by everything left in it. Read the output before you send it.

Can I redact a PDF or an image with this?

Not here — this works on text you paste. Redacting a PDF properly means removing the content, not drawing a black box over it, because the text underneath survives a copy-paste. That is a genuinely different tool and it is not this one.

The maths

The order the rules run in
Email, card, phone, TIN, IPspecific shapes, first
Numberlast, on whatever is left

The first rule wins, and every match is applied in one pass. Replacing rule by rule would let the number rule re-read the # output of an earlier one and count it twice.

The Luhn check

A sixteen-digit order reference is far more common than a card number in most documents. So before a long digit run is treated as a card it must pass the Luhn check — the arithmetic every real card satisfies. It is not proof, but it removes the commonest false match.

Keep going

Important

Nothing you paste is transmitted or stored. This masks patterns, not identities — names, addresses and free-text identifiers are not detected and cannot be. A document redacted here may still identify someone by what was left in, so read the output before sending it. Nothing you type here is sent to our servers — the calculation runs entirely in your browser.