Redact JSON in your browser
Replace sensitive values in API responses, webhook payloads and exports — at any depth. Only the selected values change: keys, formatting and unrelated numbers stay byte for byte.
Drop files here
Files are read in this tab and never uploaded.
- .json
- .csv
- .tsv
- .log
- .txt
Up to 10 files, 10.0 MB each, 30.0 MB in total. UTF-8 only.
A webhook and the support ticket about it
− before+ after"customer_id": "C-20417","customer_id": "customer_001","customer_id": "C-20417","customer_id": "customer_001","subject": "Invoice INV-30091 failed twice""subject": "Invoice invoice_001 failed twice"Same placeholder in both files and in the ticket’s free-text subject. Unselected values such as "amount_due": 12900 are unchanged.
How it works
Add files
Drop JSON, CSV or log files, or paste text. They are read in this tab; nothing is uploaded.
Choose what to hide
Suggestions find IDs, emails, names, order numbers and keys. Fields that hold the same values share one numbering.
Review & download
Compare before and after, check what may remain, then download the files with a short report.
How JSON is handled
Choosing fields
Suggestions come from field names — customer_id, email, phone, full_name, address, *_token, api_key and similar — found at any depth. You can add a rule for any other field from the list of paths found in the file, such as $.data.customer.email; inside arrays a path covers every item, such as $.users[*].email.
What is preserved
- The file is never re-serialized: a strict scanner records where each value sits, and only selected values are rewritten. Indentation, key order and spacing are unchanged.
- Numeric IDs that fit in a safe integer stay numbers (
9281→900001). Numbers you did not select are never touched. - Changed strings are re-encoded with standard JSON escaping; everything else is identical byte for byte.
- After processing, each output is parsed again and compared with the plan before it can be downloaded.
Strict parsing
Input must be RFC 8259 JSON. Comments, trailing commas and single quotes are rejected with the line and column, rather than guessed at.
What it does not do
- Object keys are not replaced, only values.
true,falseandnullcannot be replaced. - Integers beyond ±253−1, decimals and exponents are left unchanged and reported, unless the group is set to convert numbers to text.
- JSON with comments (JSONC, JSON5) is rejected. HAR files have no special handling.
- A value inside free text is only replaced when the same value is selected in a field somewhere in the task.
Questions
Does it parse and re-serialize my JSON?
No. JSON.parse/JSON.stringify would reformat the file and change large numbers. ShareSafe edits the selected values in place and leaves every other byte alone.
Can I keep the same placeholders across a JSON file and a CSV export?
Yes. Add both files to one task: fields that hold the same values share a numbering, so C-20417 becomes the same placeholder in both. See anonymizing CSV files for how columns are linked.
Is the output valid JSON?
Yes. Each output is parsed again after processing and compared with the plan; a file that fails this check is not offered for download.
Replacing selected values does not guarantee anonymity. Suggestions are hints, not a complete scan; review the output before sharing it.
Last reviewed .