Skip to content

Prompt Secret Scrubber

Runs in your browser

Paste or drop a config file, an .env, logs or code before you share it with a chat model. Passwords, keys and tokens become placeholders, and the model's answer gets them back.

.env

11 values hidden in error-report.txt

The safe text is ready to paste. Read it once before you share it.

Try a sample:

Safe to paste

# .env copied from staging DATABASE_URL=postgres://orders_app:[PASSWORD_1]@db.internal.example:5432/orders OPENAI_API_KEY=[API_KEY_1] AWS_ACCESS_KEY_ID=[AWS_ACCESS_KEY_1] AWS_SECRET_ACCESS_KEY=[AWS_SECRET_1] STRIPE_SECRET_KEY=[STRIPE_KEY_1] [2026-11-04 09:12:44] ERROR checkout failed for [EMAIL_1] from [IP_1] card=[CARD_NUMBER_1] phone=[PHONE_1] Authorization: Bearer [JWT_1] Why does checkout fail for this customer? The same card works from [IP_2].

What was found

  • Password in a URLDATABASE_URL Tr0u…026 · line 2[PASSWORD_1]
  • OpenAI-style API keyOPENAI_API_KEY sk-p…XYZ · line 3[API_KEY_1]
  • AWS access key IDAWS_ACCESS_KEY_ID AKIA…PLE · line 4[AWS_ACCESS_KEY_1]
  • AWS secret access keyAWS_SECRET_ACCESS_KEY wJal…KEY · line 5[AWS_SECRET_1]
  • Stripe secret keySTRIPE_SECRET_KEY sk_t…7dc · line 6[STRIPE_KEY_1]
  • Email addressasha…com · line 8[EMAIL_1]
  • IP address203.….42 · line 8[IP_1]
  • Card number4111…111 · line 9[CARD_NUMBER_1]
  • Phone numberlikely+44 …958 · line 9[PHONE_1]
  • JWTeyJ0…8G0 · line 10[JWT_1]
  • IP address198.…0.7 · line 12[IP_2]

Put your values back

Paste the model's answer. Every placeholder from the text above turns back into the value it stood for, with or without its brackets.

How this one works

Config is read the way a reviewer reads it: every key and its value, in PHP (including wp-config.php), .env, YAML, JSON, INI, XML, command-line flags and connection strings. A key that names a secret (a password, secret, token or salt, or a key such as AUTH_KEY holding a random value) has its value hidden. A key that names something else (a user name, a host, an ID, a timeout) is left alone, and so are keys that are public by design, such as Stripe's pk_ keys, and placeholders such as null, ${DB_PASS} or "put your unique phrase here".

Outside config, each kind of secret has its own detector, which checks a format rather than guessing: key prefixes from over 30 providers (OpenAI, Anthropic, AWS, GitHub, Stripe, Google, Slack, Shopify, Twilio and more), private key blocks, JWTs that decode, passwords inside URLs and Authorization headers. Card numbers must pass the Luhn check and IBANs their checksum. A long random string with nothing to say what it is counts as likely, and likely matches can be switched off.

The same value always gets the same placeholder, so the model can still tell one customer from another. The mapping from placeholder to value stays in this tab's memory, which is what lets the answer be restored, and it is gone when you close the tab.

Questions

Which files does it understand?

wp-config.php and other PHP config, .env files, docker-compose and other YAML, JSON, INI and XML config, connection strings, shell commands with flags, logs and code. Paste the file or drop it on the text box, and download the safe copy under the same name with .safe added.

Does it use AI to find secrets?

No. A language model good enough for this would mean either sending your text to a server, the one thing this tool exists to avoid, or downloading gigabytes into your browser. It would also miss things in ways nobody can predict. Rules that read keys and check formats are fast, exact and the same every time, and you can see why each value was hidden.

Is this a guarantee that nothing sensitive is left?

No. It catches the formats it knows and flags likely ones, but a name, an address or a secret in a format it doesn't know will get through. Read the safe text before you paste it.

Why not just delete the secrets?

A model answers better when it can see that a value was there and which one it was. "[API_KEY_1] is used before it is set" is a useful answer; a gap is not. Placeholders also let you restore the answer.

Does it send my text anywhere?

No. The detectors are plain JavaScript running in this tab, and nothing is stored, so there is nothing to leak.

Can I keep one value as it is?

Yes. Each finding has a Keep button, and each kind of value can be switched off at the top. Kept values stay in the safe text unchanged.

Keyboard shortcuts

Global

  • Show this shortcuts dialogShift?
  • Toggle light / dark themeCtrlShiftL
  • Close dialogsEsc

Formatter & Validator

  • Format JSONCtrlEnter
  • Minify JSONCtrlShiftM
  • Copy outputCtrlShiftC
  • Download output as .jsonCtrlShiftS
  • Clear input and outputCtrlShiftX

Tree Viewer

  • Focus the search box/
  • Expand all nodesCtrlShiftE
  • Collapse all nodesCtrlShiftR

Diff

  • Swap document A and BCtrlShiftS

Time & date tools

  • Use the current time (Epoch Converter)CtrlEnter
  • Copy the main resultCtrlShiftC
  • Clear the inputCtrlShiftX

PHP Unserialize & Serialize

  • Convert an input over 2 MBCtrlEnter
  • Copy outputCtrlShiftC
  • Download outputCtrlShiftS
  • Clear input and outputCtrlShiftX

Keys & IDs

  • Generate a new token or UUID batchCtrlEnter
  • Copy the resultCtrlShiftC

JSON tools

JSON FormatterPretty-print or minify
JSON ValidatorCheck strict JSON validity
JSON Tree ViewerBrowse JSON as a tree
JSON DiffCompare two documents
JSON Path FinderExplore JSONPath expressions
JSON to CSVFlatten JSON into rows
CSV to JSONTurn rows back into objects
PHP UnserializeSerialized PHP to JSON
PHP SerializeJSON to serialized PHP

JWT tools

JWT DecoderClaims, signature and expiry
JWT VerifierWith a secret, PEM key or JWKS
JWT Expiry Checkeriat, nbf and exp in local time
JWT GeneratorBuild a signed test token
Base64URL EncoderEncode or decode a segment

Time & date tools

Epoch ConverterTimestamps to real dates
Cron Expression ExplainerCron in plain English
Time Zone ConverterOne moment, many cities
Duration CalculatorDate maths and durations

Keys & IDs

Password GeneratorSecure random secrets
UUID Generatorv1, v4, v5 or v7 UUIDs

Code formatters

SQL FormatterBeautify or minify SQL
HTML FormatterBeautify or minify HTML
CSS FormatterBeautify or minify CSS
JavaScript FormatterBeautify or minify JS
PHP FormatterBeautify PHP code
Markdown to HTMLConvert with a live preview

AI tools

Token CounterTokens for every model
Prompt Secret ScrubberHide keys and personal data

Pages

JSON toolsFormat, validate, compare and convert JSON.
JWT toolsDecode, verify and generate JSON Web Tokens.
Time & date toolsConvert timestamps, read cron, compare zones.
Keys & IDsGenerate secure tokens, passwords and UUIDs.
Code formattersFormat SQL, HTML, CSS, JavaScript and PHP code.
AI toolsCount tokens and hide secrets before you prompt.
HomePopular tools and categories
All categoriesBrowse tools by category
AboutWhat ToolJar is and why
PrivacyWhat is and is not collected

Theme

Switch to light theme
Switch to dark theme