Shiklo Tools
PDF40
Image20
Calculators & Converters25
Text & Writing13
Developer26
Video14
Audio14
Document14
Data & Spreadsheet12
Web & SEO9
OCR & Scanning5
Archive & File12
Security & Privacy23
Health & Medical29
QR & Barcode5

Secret Pattern Scanner

Find API keys, tokens, private keys and passwords in pasted text or a text file, shown masked. Nothing is uploaded.

Before you share a log file, paste code into a ticket or commit a configuration file, check it for secrets. Paste the text or open a file such as .env, .json, .yaml, .js or .log, and the scanner lists every likely private key, cloud or API key, access token and password it finds, with the line and column, the type and how serious a leak would be. The values themselves are shown masked, for example AKIA••••••••MPLE, so the result is safe to look at with someone watching or to copy into a report.

The scan runs entirely in your browser in a background worker: the text is never uploaded, stored or logged, and spell-checking is switched off so the browser does not send it to an online spell checker. Add values to the ignore list to hide known test keys and false positives.

How to use Secret Pattern Scanner

  1. Paste text or open a text file (.txt, .log, .env, .json, .yaml, .xml, .md, .js, .ts and other config files).
  2. Read the list of possible secrets with line, type, severity and masked value.
  3. Add known test values or patterns to the ignore list if needed.
  4. Copy or download the masked report, then revoke and replace any real secret that was exposed.

Features

  • 20 patterns: private keys, AWS, GitHub, GitLab, Slack, Stripe, Google, OpenAI, Anthropic, npm and more
  • Passwords in URLs, connection strings and config settings
  • Values masked everywhere, including the report
  • Line and column for every finding
  • Ignore list with plain text or regular expressions
  • Runs in a background worker; nothing is uploaded or stored

What the scanner looks for

Each pattern matches the documented format of a key or token, such as the AKIA prefix of AWS access key IDs or the ghp_ prefix of GitHub tokens. Provider-specific formats are reliable and rated high; generic patterns such as JWTs, bearer tokens and password settings catch more but also produce more false positives.

PatternSeverity
Private keyhigh
AWS access key IDhigh
AWS secret access keyhigh
GitHub tokenhigh
GitLab tokenhigh
Slack tokenhigh
Slack webhook URLhigh
Stripe secret keyhigh
Stripe test keylow
Google API keyhigh
OpenAI API keyhigh
Anthropic API keyhigh
npm tokenhigh
SendGrid API keyhigh
Telegram bot tokenhigh
Azure storage account keyhigh
Password in a URL or connection stringhigh
JSON Web Tokenmedium
Bearer tokenmedium
Password or secret in a settingmedium

Why the values are masked

A scanner that prints the secrets it finds creates a new leak: the result ends up in screenshots, tickets and chat messages. This tool shows only the first and last few characters of each value, enough to recognise which key it is, and the downloadable report is masked the same way. Private keys are reported by their BEGIN line only. The full text stays in the input box on your device, and closing the page discards it.

False positives and the ignore list

Pattern matching cannot know whether a value is real. Documentation examples, test fixtures and placeholders often look exactly like keys. The scanner already skips obvious placeholders in settings such as password=changeme, ${DB_PASSWORD} or process.env.API_KEY. For anything else, add a line to the ignore list: plain text hides every finding whose value or line contains it, and a value written as /regular expression/ hides matches of that expression. Equally, no pattern list is complete: a secret in an unusual format can be missed, so treat a clean result as a good sign, not a guarantee.

Found a real secret? What to do

Assume it is compromised. Revoke or rotate the key in the provider's console first, then replace it wherever it is used, and only then remove it from the file. If it was committed to a Git repository, deleting it in a new commit is not enough: it stays in the history, so rewrite the history or treat the key as public. Check the provider's logs for use you do not recognise. To prevent repeats, keep secrets in environment variables or a secrets manager and add .env files to .gitignore.

Privacy

Secrets are exactly the kind of data that must not be pasted into an online service you do not control. This page sends nothing: the patterns run in a Web Worker inside your browser, there is no upload, no analytics on the text and nothing is saved in browser storage.

Frequently asked questions

Is my text uploaded to scan it?

No. The scan runs in your browser and the text never leaves your device. Spell-checking is turned off so it is not sent to an online spell checker either.

Which secrets can it find?

Private keys, AWS, GitHub, GitLab, Slack, Stripe, Google, OpenAI, Anthropic, npm, SendGrid, Telegram and Azure keys, JWTs, bearer tokens, passwords in URLs and passwords or keys in settings.

Why are the results masked?

So the report itself does not leak the secret when you share or screenshot it. Only the first and last characters are shown.

Which files can I open?

Text files such as .txt, .log, .env, .json, .yaml, .xml, .md, .js, .ts, .ini, .toml and .py, up to 10 MB. Binary files are refused, whatever their name.

It found a test key. How do I hide it?

Add the value or a part of it to the ignore list, or a /regular expression/ that matches it.

Does a clean result mean there are no secrets?

Not for certain. Patterns cover the common formats; a secret in an unusual format can be missed.

What should I do if a real key is found?

Revoke or rotate it with the provider first, then remove it. A key that was committed to Git stays in the history.

Related tools