CSV Data Cleaner

Drag and drop raw data arrays here. Execute mathematical operations and drop null values entirely in RAM.

How-To Guide

How to clean and transform a CSV

Load a CSV (or TSV) file, apply column transformations and drop missing rows, then export a tidy dataset, without opening Python, R or a spreadsheet.

1

Load your file

Drag a .csv, .tsv or .txt file onto the drop zone, or click to browse. The delimiter is detected automatically.

2

Pick a column & operation

Choose a target column (or all numeric columns) and a transformation: drop missing values, remove duplicates, log/ln, absolute value, min–max or Z-score.

3

Execute & inspect

Click Execute. Live per-column statistics (mean, median, σ, min, max, missing) update so you can sanity-check the result.

4

Export

Use Revert State to undo everything, or Export to download cleaned_dataset.csv.

What each transformation does

Normalisation

Min–Max rescales a column to the 0–1 range: (x − min)/(max − min) (a constant column maps to 0). Z-Score standardises to mean 0 and standard deviation 1: (x − mean)/σ.

Cleaning & shaping

Drop Missing Values removes rows with blanks in the selected column(s). Remove Duplicate Rows keeps only the first copy of identical rows. Log10 / ln apply only to positive values; Absolute Value takes the magnitude.

Which standard deviation? Z-Score here uses the population standard deviation (divide by N), matching scikit-learn’s StandardScaler. Tools such as pandas default to the sample standard deviation (divide by N− 1), so values can differ slightly for small datasets.
Method & Equations

The math behind the transforms

The normalisation and standardisation operations follow standard feature-scaling definitions.

Min–Max normalisation rescales a column to the range [0, 1]:

x=xxminxmaxxmin

Z-Score standardisation centres to mean 0 and unit standard deviation:

z=xμσ,μ=1Ni=1Nxi,σ=1Ni=1N(xiμ)2

where x is a cell value, xmin/xmax the column extremes, μ the column mean, σ the population standard deviation (dividing by N), and N the count of numeric values. Non-numeric and missing cells are excluded from the statistics. A constant column (xmax=xmin) maps to 0. Log transforms apply only to positive values.

References & documentation

  1. Pedregosa, F., et al. (2011). Scikit-learn: Machine learning in Python. JMLR, 12, 2825–2830. Docs: StandardScaler · Preprocessing guide.
  2. Heckert, N. A., Filliben, J. J., Croarkin, C., et al. (2002). NIST/SEMATECH e-Handbook of Statistical Methods. itl.nist.gov/div898/handbook.
  3. Wikipedia: Feature scaling · Standard score.

Frequently asked questions

Is my file uploaded to a server?
No. PapaParse reads the file in your browser and all processing stays in memory (RAM). Nothing is transmitted.
Which file types work?
Comma-, tab- or semicolon-delimited text with a header row: .csv, .tsv or .txt. The delimiter is auto-detected.
How is Z-Score calculated?
(value − column mean) / population standard deviation. Non-numeric and missing cells are ignored when computing the statistics.
What does Min–Max do to a constant column?
If every value is identical there is no range to scale, so the column is set to 0.
Why does the preview show only 100 rows?
Only the first 100 rows are rendered to keep the interface responsive; every row is still transformed and included in the export.

Runs entirely in your browser, no data leaves your device.