Free online tool

Redact emails, IPs, and API keys before you share text

Paste logs, JSON, or code and strip out emails, IP addresses, phone numbers, and API keys before you share them. The Data Anonymizer runs entirely in your browser: nothing is uploaded, nothing is stored, and the cleaned text never leaves your device. Toggle each pattern on or off, add your own regex or keywords, and copy or download the result.

Quick answer

Quick answer

Paste logs, JSON or code and strip out emails, IP addresses, phone numbers and API keys from AWS, GitHub, Slack and Stripe before you share them. Each pattern has its own on-off toggle, and you can add custom regex or keywords for project-specific secrets. Everything runs in your browser, and the tool shows a per-pattern count of every replacement made.

Open the interactive Data Anonymizer

The interactive tool loads in the page. Enable JavaScript to enter data, process content, and download results.

About this tool

About the Data Anonymizer

Paste logs, JSON, or code and strip out emails, IP addresses, phone numbers, and API keys before you share them. The Data Anonymizer runs entirely in your browser: nothing is uploaded, nothing is stored, and the cleaned text never leaves your device. Toggle each pattern on or off, add your own regex or keywords, and copy or download the result.

Detailed guide

How to get useful results from Data Anonymizer

What the anonymizer redacts, and what it does not

The anonymizer scans for the common shapes of sensitive data: email addresses, IPv4 and IPv6 addresses, phone numbers, and well-known API key formats from AWS, GitHub, Slack, and Stripe. Each pattern has its own switch, so you can redact only what matters for the text you are sharing. Phone matching is deliberately conservative — it needs separators or a country code — so dates, years, version numbers, and plain amounts are left alone.

Redaction is pattern-based, not magic. It can miss a secret in an unusual format, and it can over-match a string that only looks like a token. JWTs are off by default for exactly that reason: plain base64 text can look like a token, and redacting every base64-looking string would damage code. Turn JWT redaction on only when you are cleaning real tokens, and always read the cleaned text — and the per-pattern counts — before you share it.

Custom patterns and keywords

When the built-in patterns do not cover your case, add a custom regular expression or a list of keywords, one per line. Custom patterns run after the built-in ones, and keywords are matched as plain text, case-insensitively. A custom pattern that is not a valid regular expression stops the run with an error instead of silently doing nothing, so a typo cannot leave secrets in the output.

You choose what replaces a match: the default [REDACTED], three asterisks, or a token of your own. The same token is used for every match in v1 — there are no per-pattern tokens — which keeps the output easy to scan. If the output shows zero matches, nothing was changed, and the tool says so instead of pretending to have cleaned the text.

JSON mode: redact values, keep structure

Turn on JSON mode and the tool parses the input as JSON, then redacts only the string values. Keys, numbers, booleans, and null pass through untouched, so the structure of the data survives: an object with an email field still has that field, with the value replaced. Arrays and nested objects are walked the same way.

If the input is not valid JSON, JSON mode reports the problem and produces no output — it never guesses at a partial redaction. The output is re-formatted with a 2-space indent, so expect formatting changes alongside the redactions when you diff it against the original. For code, leave JSON mode off: pasting code with JSON mode on is an error, not a silent no-op.

Quick guide

How to use this tool

  1. 01Paste the text, JSON, or code you want to clean into the input box.
  2. 02Toggle the patterns you want redacted — emails, IPs, phone numbers, and API keys are on by default.
  3. 03Add a custom regex or keyword list if you have project-specific secrets to remove.
  4. 04Select Redact now and review the per-pattern counts and the cleaned text.
  5. 05Copy the result or download it as a .txt file.

Capabilities

Features and supported formats

  • Redacts email addresses, IPv4 and IPv6 addresses, phone numbers, and API keys from AWS, GitHub, Slack, and Stripe.
  • Per-pattern on/off toggles, so you redact only what the text needs.
  • Custom regular expressions with validation, plus a keyword list for project-specific secrets.
  • JSON mode redacts string values only, keeping keys, numbers, and structure intact.
  • Shows a per-pattern count of every replacement before you copy or download.
  • Runs 100% in your browser; nothing is uploaded or stored.

Supported formats

Input: plain text, JSON, or code. Output: redacted text with the same structure, copyable or downloadable as a .txt file. JSON mode outputs formatted JSON with a 2-space indent.

Answers

Frequently asked questions

Does the Data Anonymizer upload my text anywhere?

No. The text is processed only in your browser tab. Nothing is sent to a server, and the input never leaves your device.

What patterns does the anonymizer redact?

Email addresses, IPv4 and IPv6 addresses, phone numbers, and API keys from AWS, GitHub, Slack, and Stripe. JWTs are available as a pattern but off by default, because plain base64 text can look like a token.

Will it break my JSON?

No. In JSON mode only string values are redacted; keys, numbers, booleans, and null stay untouched, and the output is formatted with a 2-space indent. If the input is not valid JSON, the tool reports the error instead of producing partial output.

Why is JWT redaction off by default?

A JWT is three base64url segments joined by dots, and ordinary base64 text can match that shape. Leaving the pattern off avoids redacting code that only looks like a token. Turn it on when you are cleaning real tokens.

Can I add my own patterns?

Yes. Add a custom regular expression, which is validated before it runs, or a keyword list with one term per line, matched as plain text. Custom patterns run after the built-in ones.