Runs entirely in your browser

Spreadsheet de-identification, in your browser.

Drop in an Excel workbook. Thresh strips sensitive columns, anonymizes identifiers, converts dates of birth to ages, and gives you a clean per-sheet CSV. Your file never leaves this page.

What gets cleaned

These rules apply to every sheet in your workbook. They ship with healthcare-friendly defaults but the underlying engine is general-purpose — see the docs for how to extend or replace them.

NHI → ID Replaced with sequential anonymized IDs (ID-001, ID-002, …) shared across sheets in the same workbook.
DOB → Age Converted to whole-year age, clamped to 0..130. Invalid dates become empty.
Address / Contact Columns named exactly Address or Contact are dropped entirely.
Duplicates & blanks Exact-duplicate rows after transformation are removed. Empty rows and unnamed columns are skipped.
Custom rules

Edit the rule set as JSON. Match clauses: equals, startsWith, contains, regex, empty. Actions: drop, keep, rename, redact, anonymize, ageFromDate. First match wins. Unmatched columns are kept as-is.

Clean a workbook

Up to 5 MB. Accepted formats: .xlsx, .xls, .ods.

Drag & drop a spreadsheet, or click to choose one

Nothing is uploaded — files are processed locally in this tab.

Cleaning result