remove PII from CSV files without uploading them anywhere
Scrubbing personal data by uploading it to a website is a contradiction. This scrubber runs in your browser: it finds emails, phone numbers, SSNs, and card numbers in your CSV or JSON, shows you what it found per column, and lets you mask, hash (SHA-256), or drop each one.
how to use it
- Drop a
.csv or .json. Every column is scanned as it loads, and columns holding personal data get a badge saying what was found and how much of it.
- Click a flagged column's header and choose scrub pii.
- Pick what happens to it: mask keeps the shape and the last four characters, hash (salted SHA-256) keeps rows joinable without keeping the value, drop removes the column outright.
- Export. The scrub runs over every row on the way out, in this tab.
- Per-column PII badges show what was detected, and how much of the column it covers, before you decide anything.
- Card numbers are Luhn-checked, and SSNs are tested against the ranges that were never issued (area 000, 666, or 900+; group 00; serial 0000) - so a 16-digit order id or a padded serial number is not flagged as payment data. The usual reason a scrubber gets ignored is that it cried wolf on the id column.
- Mask keeps the shape (a***@example.com) so the column still reads as an email; hash is salted SHA-256, so equal values stay equal and rows stay joinable without the original ever surviving; drop removes the column entirely.
- The salt is yours and stays in this tab. Rehashing the same file with the same salt reproduces the same values, and with a different salt it does not - which is what stops a hashed column being reversed by anyone with a list of likely emails.
- The scrub is a recorded pipeline step - reorder it, undo it, save it as a reusable recipe, and read what it did in the run summary.
- Exports stream the entire file through the scrub, at any size. The preview shows the scrubbed values, so you check the result before anyone else sees it.
"CSV" is a loose term here, and paste means paste anything: TSV, semicolon and pipe delimited files, ranges copied from Excel or Google Sheets, SQL client result grids, even tables copied off a web page (they arrive tab-separated) - the delimiter is detected automatically. One delimiter is chosen for the whole file; if a column turns out to carry its own separator inside it, click that column's header and choose split at delimiter to break it into real columns.
every tool in the box
- data workbench - profile, clean, transform, and export CSV, JSON, and SQLite - the full suite
- JSON flattener - nested JSON or NDJSON to flat columns, arrays and objects unrolled
- CSV PII scrubber - find emails, phones, SSNs, and card numbers - mask, hash, or drop them (this page)
- JSON to CSV - convert JSON or NDJSON to CSV with full column control
- CSV to JSON - convert CSV to JSON or NDJSON, streamed at any size
- Excel to CSV - read .xlsx workbooks and export CSV, sheets and all
- CSV to Excel - write a real .xlsx where leading zeros and dates survive
- SQL on CSV - real SQL over your files: joins, GROUP BY, a read-only console
- CSV to SQLite - drop several files, get one .sqlite database with discovered foreign keys
- CSV to SQL - CREATE TABLE and INSERT statements for Postgres, MySQL, SQL Server, SQLite
- JSON to TypeScript - TypeScript interfaces and JSON Schema derived from your real data
- large CSV viewer - open files past Excel's 1,048,576-row limit without loading them into RAM
- regex painter - highlight example matches, get a verified regular expression back
- encoding fixer - detect windows-1252/UTF-16 and repair garbled text (José → José)
- log parser - read log files as events: layouts detected, stack traces kept whole, timestamps normalized, and a volume-over-time strip drawn in SQL across every row
- visualize - chart any table you have open - bar, line, area or point - drag across it to filter, and export svg, png, or the vega-lite spec that drew it
- theme builder - design, test, and export custom color themes with live previews, palette derivation, and contrast diagnostics
Like every unfckr tool, this runs 100% in your browser: no upload, no servers, no signup, no analytics. A Content-Security-Policy header blocks every programmatic network channel, so not even malicious code could phone home - and you can watch it happen: the privacy page runs six live escape attempts and shows the browser refusing each one.
↑ back to the tool