About this tool
Anonymize participant labels, contact details, links, identifiers, and optional timestamps in TXT, JSON, or CSV chat exports entirely in your browser.
The Chat Export Anonymizer takes a chat log you exported from a messaging app, helpdesk or support platform and replaces the identifying parts with consistent pseudonyms — the first speaker becomes Person 1, the first email becomes [EMAIL_1], and so on — while leaving the actual conversation intact. It reads TXT transcripts, JSON message arrays and CSV exports (auto-detecting which), and can optionally strip leading timestamps from each line. The mapping is consistent within a single run, so the same person stays the same pseudonym throughout and the thread still reads as a conversation.
Open Chat Export Anonymizer on AltFTool — it loads instantly in your browser.
Paste the transcript into the 'Chat export' box or press 'Choose file' for a TXT, JSON or CSV up to 5 MB — 'Load demo' fills a sample and Clear empties it.
In 'Anonymization settings' pick an 'Input format' of 'Detect automatically', 'TXT / plain text', JSON or CSV, and tick 'Replace participants' (stable labels such as Person 1) and 'Remove timestamps'. There is no run button: processing starts locally as you type.
Check the 'Privacy summary' replacement counts and the 'Side-by-side preview', where changed lines are highlighted and the preview stops at the first 120 lines, then press 'Download anonymized' for anonymized-chat.txt, .json or .csv, or 'Copy output'.
Every occurrence of the same name, email or number maps to the same token, so you can still follow who said what.
In JSON and CSV it targets known fields such as sender, author, email, phone and ticketId rather than blindly regex-scanning the whole file.
A summary counts each category of detection and unique values found, and deliberately contains none of the original chat text.
Six categories: participant labels (to Person 1, Person 2...), email addresses, phone numbers, web links, labelled identifiers such as order ID or ticket number, and optionally timestamps. Message text itself is preserved word for word, so the conversation still makes sense.
It matches runs of 7 to 15 digits, allowing spaces, dots, dashes and parentheses. A bare number with no + prefix and no parentheses needs at least 10 digits to count, which keeps ordinary figures like prices, dates and quantities from being mistaken for a phone number.
No. Parsing, matching and replacement all run in your browser, so the original transcript never leaves the machine. That matters here more than for most tools, because the input is by definition the sensitive material.
Treat it as a strong first pass, not a guarantee. Pseudonymisation removes direct identifiers, but the message content can still identify someone through context — an address mentioned in passing, an unusual event, an internal project name — so always read the output before sharing it, and take advice if the material falls under GDPR, HIPAA or a legal hold.