LogShaper

Redact API keys, tokens and personal data from logs

No network access · nothing leaves your browser Support LogShaper
Sanitization Rules
Quick samples:
Ctrl/⌘ + Enter to parse
No data processed yet.
/* Click "Parse & Normalize Schema" to process raw logs */

Redact secrets from logs, right in your browser

Need to paste a log into a ticket, a chat or an AI assistant? LogShaper strips the sensitive parts first. Secrets, emails and IP addresses are replaced with clear markers like [SECRET_REDACTED], while the rest of each line stays readable, and key names are kept so you can still see which field held a secret.

How to use it

  1. Paste your logs into the box above. An example is already loaded so you can see the result.
  2. Choose what to redact: IP addresses, keys and tokens, and emails are all on by default.
  3. Click Parse & Normalize Schema, then copy or download the JSON, the JSON Schema, or a CSV from the Data Grid.

What you get

Example

Input
2026-11-11T09:12:44Z INFO request GET /v1/orders authorization="Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiI0MiJ9.c2lnbmF0dXJl" client_ip=198.51.100.23
2026-11-11T09:12:45Z WARN deploy using AWS key AKIAIOSFODNN7EXAMPLE for user [email protected]
{"ts":"2026-11-11T09:12:46Z","level":"error","msg":"payment failed","customer_email":"[email protected]","stripe_key":"sk_test_51Hfake00example","db":{"host":"10.2.0.7","password":"hunter2"}}
2026-11-11T09:12:47Z DEBUG git clone with token ghp_abcdefghijklmnopqrstuvwxyz0123456789 from 2001:db8::42
Output
[
  {
    "timestamp": "2026-11-11T09:12:44Z",
    "level": "info",
    "message": "request GET /v1/orders authorization=\"Bearer [SECRET_REDACTED]\" client_ip=[IP_REDACTED]",
    "authorization": "[SECRET_REDACTED]",
    "client_ip": "[IP_REDACTED]"
  },
  {
    "timestamp": "2026-11-11T09:12:45Z",
    "level": "warn",
    "message": "deploy using AWS key [SECRET_REDACTED] for user [EMAIL_REDACTED]"
  },
  {
    "ts": "2026-11-11T09:12:46Z",
    "level": "error",
    "msg": "payment failed",
    "customer_email": "[EMAIL_REDACTED]",
    "stripe_key": "[SECRET_REDACTED]",
    "db": {
      "host": "[IP_REDACTED]",
      "password": "[SECRET_REDACTED]"
    }
  },
  {
    "timestamp": "2026-11-11T09:12:47Z",
    "level": "debug",
    "message": "git clone with token [SECRET_REDACTED] from [IP_REDACTED]"
  }
]

Questions

Will it catch every secret?

No tool can promise that. Redaction works by recognizing known patterns and key names, so a password written in plain prose or a custom token format can slip through. Always review the output before sharing it.

Can I redact only some things?

Yes. Each rule (IPs, keys/tokens, emails) has its own checkbox, and the output updates as you toggle them.

Is it safe to paste real production logs here?

The page can't send data anywhere: its Content Security Policy blocks all network requests, and there's no server behind it. Your browser enforces that, not just a promise.

Is LogShaper free?

Yes. There's no sign-up, no limit and no ads.

More LogShaper tools

Nginx log to JSONAccess logs to structured JSON fieldsJSON to JSON SchemaInfer a schema from sample JSONParse stack tracesJava, Python and Node.js traces to JSONSyslog to JSONLinux system logs to structured recordslogfmt to JSONkey=value logs to typed JSON