Remove PII before you paste into ChatGPT
Paste the message, ticket or document below. Every name, email address, phone number, account number, card number and API key that the detectors recognise is highlighted on the left, and the right pane gives you a version where each one has become a stable placeholder like [NAME_1].
Because the substitution is stable and reversible, the answer stays usable: ask ChatGPT to rewrite the email about [NAME_1], paste its reply into step 3, and the real name comes back. The mapping between the placeholder and the real value never leaves this tab — there is nowhere for it to go, because this site has no server.
Your text
Safe to paste
Preset: the standard detector set, replacing values with numbered placeholders.
Mapping — 0 values (only visible in this tab)
| Placeholder | Real value | Uses |
|---|
Check a few rows before you paste — this is the fastest way to spot a detector that grabbed the wrong thing. Nothing here is stored or sent anywhere.
What to look for — 30 detectors, custom terms, exceptions
People & organisations
Government & health IDs
Financial
Technical & secrets
Location
Step 3 — paste the AI’s answer here to put the real values back
The model replies using the placeholders. Paste its answer below and every
[NAME_1] becomes the real name again — using the mapping held in this tab, which
is the only copy that exists.
How it works
- Open this page — the detectors are already set for “Remove PII before ChatGPT”.
- Paste your text, or drop a .txt, .md, .csv, .json or .log file onto the panel.
- Check the highlights: every match is coloured by type, and one click keeps a type as-is.
- Copy the safe version and paste it into the AI tool of your choice.
- Paste the model’s reply back into step 3 to restore the real values.
Why the step matters more than it used to
Consumer chatbots are trained on what you type unless you change a setting. OpenAI’s policy is explicit that ChatGPT improves by training on conversations unless you opt out, while ChatGPT Business, Enterprise, Edu and the API do not train on your content by default. Anthropic changed its consumer terms in August 2025 so that Free, Pro and Max chats are used for training unless you opt out, with retention of up to five years; Team and Enterprise plans sit under different, commercial terms.
Then there is litigation. In the New York Times copyright case, OpenAI was ordered to preserve consumer output logs — including chats users had deleted — and only came out from under that obligation on 26 September 2025. Logs already captured under the order still exist, and in July 2026 the publishers moved for sanctions over the way deletion continued. Nothing about that story is unusual for a fast-growing platform; it just means the honest planning assumption is that a pasted paragraph may outlive the conversation.
What a good scrub actually looks like
The temptation is to delete everything sensitive and paste the wreckage. Models write worse answers from mangled input, so people quietly stop scrubbing. Placeholders solve that: [NAME_1] asked [COMPANY_1] for a refund on card [CARD_1] keeps every relationship in the sentence — who did what to whom, how many distinct people are involved, which value repeats — while carrying none of the identifying content.
The second half of the trick is the round trip. Most redaction tools hand you a cleaned string and walk away, which means you then retype the real names into the model’s answer by hand. Here the mapping stays in the page, so pasting the reply into step 3 restores every value at once. That is only possible in a local tool: a hosted service would have to keep your mapping on its servers, which is precisely the thing you were trying to avoid.
Tips
- Turn on All dates if you are working under HIPAA Safe Harbor — dates are identifiers there, and they are off by default because ordinary text is full of harmless ones.
- Put internal codenames, unusual surnames and product names into custom terms: no word list can know them, and they are often the most identifying thing in the text.
- Use Fake values instead of tokens when you want the model to write natural prose back — a letter addressed to “Jordan Blake” reads better than one addressed to “[NAME_1]”.
Detectors are pattern-based and imperfect: read the highlighted output before you paste it anywhere, and confirm your own confidentiality obligations against the current rules for your profession, employer or jurisdiction. Compiled 2026-07-29.
Frequently asked questions
Does the text I paste here get uploaded anywhere?
No. The detectors, the replacement and the restore step all run as JavaScript in your browser tab. There is no upload endpoint on this site at all, which you can check two ways: open DevTools (F12) → Network and watch nothing happen while you type, or disconnect from the internet and keep using the page.
Will the placeholders confuse ChatGPT?
In practice, no — models handle bracketed placeholders well, and consistent tokens actually help them keep track of who is who. If a reply comes back with the placeholders reformatted (bolded, lowercased, brackets dropped), the restore step still recognises them.
Is this the same as anonymising the data?
No, and the difference is legal, not cosmetic. Replacing values with placeholders is pseudonymisation: under GDPR Recital 26 and the EDPB’s 2025 guidelines, data that can be re-linked using additional information — here, the mapping in your tab — is still personal data. Truly anonymised data cannot be re-linked by anyone, which also means you cannot restore the answer.
What does it miss?
Names that are not in the common-name list, addresses in formats the pattern does not cover, ID numbers with no label near them, and anything identifying by context rather than by pattern (“the CFO who joined last March”). Read the highlighted text before you paste it — the tool is a first pass, not a guarantee.