Clean and standardize
Sanitize headers, prune empty rows, strip control characters and trim whitespace. Format dates, numeric and currency values, US phone numbers and title-case text in selected columns.
Clean and standardize CSV values, review changes and export the result.
Give your data a clean start.
Drop your file here or click to browse. Processes securely in your browser RAM.
Data Hygiene brings CSV cleaning, inspection and reusable recipes into one browser workspace. Check the source, explore changes, and review the result before exporting.
Sanitize headers, prune empty rows, strip control characters and trim whitespace. Format dates, numeric and currency values, US phone numbers and title-case text in selected columns.
Inspect affected rows and columns, separate missing values from whitespace issues, and apply validation rules. Compare source and changed values with retained source row identities.
Save presets on this browser, share settings through recipe JSON, and inspect a concise Python-style outline. Applying settings updates the preview; Execute creates the completed export.
How your data is handled, what the controls mean, and how to keep your work.
Back to the workspace ↑Original source shows untouched input. Preview with changes applies the current recipe to the full dataset, with Source / preview comparison available. Execute creates completed output for Download CSV. Later preview edits do not overwrite that export. Export affected rows instead uses the selected review view and issue type, including all matching rows and all columns across pages.
Toggle blank cells, N/A, NULL, NaN and the dash marker, or add custom markers one per line. Matching ignores case and surrounding spaces. Unchecked markers remain text. Fill with mean, median, mode or custom text; literal replacements such as N/A are preserved. Numeric fills use usable values across the full dataset, excluding configured missing markers and empty numeric strings. A numeric fill cannot run without usable numbers.
Exact deduplication compares all fields; key deduplication compares selected columns. The first matching row stays, and comparisons retain source row identities for removed records. Validation flags values without modifying them: required values, inclusive numeric/date ranges and exact allowed categories. Date checks expect valid YYYY-MM-DD values. Optional values classified as missing skip range and category checks.
CSV parsing, cleaning and review run in browser memory; uploaded CSV contents are not sent to a processing server. Website assets and third-party libraries can require network requests, so offline availability is not guaranteed. Practical capacity depends on browser/device memory, data and recipe. Background workers help with cleaning, but large previews and comparisons may take time. Keep the original CSV and download results before closing.
Named presets are stored in this browser, including column names, replacement text, missing markers and validation settings, not dataset row arrays. Clearing browser storage removes them; export recipe JSON to keep a backup or move settings. The Python preview is an illustrative pipeline outline with helper calls, not a standalone executable. Close preview or press Escape to return without losing your dataset.