SmartQueryTools

Normalize Columns in CSV Files Online

Normalize numeric columns in CSV files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.

How to normalize Columns in CSV files

  1. Drop your file onto the upload area. It is loaded into the in-browser engine and the first 200 rows are shown.
  2. Choose a method: Min-Max (0–1), the default, or Z-Score (μ=0, σ=1).
  3. Tick the numeric columns to scale. Every numeric column is ticked to start with, and the table shows the output name for each one (_normalized or _zscore).
  4. Click Normalize. Each new column is placed directly after the column it was computed from, and the originals are kept.
  5. Download the result in the same format you uploaded.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

A coach compares five players on a reaction-time test in milliseconds and a vertical jump in centimetres. The units are different, so the raw numbers cannot be compared or combined directly.

Input (CSV)

player,reaction_ms,jump_cm
Aoife,180,40
Bram,220,52
Chidi,200,46
Dana,160,60
Eli,260,35

Settings

  • Method: Min-Max (0–1)
  • Columns: reaction_ms and jump_cm (both ticked)

Result

playerreaction_msreaction_ms_normalizedjump_cmjump_cm_normalized
Aoife1800.2400.2
Bram2200.6520.68
Chidi2000.4460.44
Dana1600601
Eli2601350

Reaction times run from 160 to 260 ms, a range of 100, so Aoife's 180 becomes (180 − 160) / 100 = 0.2. Jumps run from 35 to 60 cm, so Bram's 52 becomes 17 / 25 = 0.68. The fastest reaction scores 0 because min-max does not know that lower is better here. Use Calculate Column with 1 − reaction_ms_normalized to flip it.

Working with CSV files

Only columns detected as numbers when the CSV loads are offered, and all of them start ticked. That includes ID-like columns such as customer_id or postcode when they happen to be all digits. Untick those, because scaling an identifier gives meaningless values. Columns with a thousands separator, a currency sign or a unit such as "12 kg" load as text. They will not appear until you clean them with Find & Replace or Cast Column Types. Integer columns work fine. The scaled output is always a decimal.

Empty fields load as NULL. They are left out when the minimum, maximum, mean and standard deviation are worked out, and their scaled value stays blank. The downloaded CSV writes scaled values at full precision, for example 0.6666666666666666. Most tools read that fine, but run Round Numbers first if a person will read the file. Each new column appears next to its source column, so the header order changes from the original.

Frequently Asked Questions

Why is a CSV column missing from the list of columns to normalize?

It was loaded as text, not a number. One non-numeric value such as "n/a", or a symbol such as $ or %, is enough. Clean or cast the column, then load the file again.

Will my original CSV columns be overwritten?

No. The scaled values go into new columns named <column>_normalized or <column>_zscore, and the original values are kept next to them.

Does z-score use the sample or population standard deviation?

The sample standard deviation, which divides by n − 1. Results therefore differ slightly from tools that use the population figure, such as scikit-learn's StandardScaler. The gap shrinks as the row count grows.

What happens if every value in a column is the same?

The range (for min-max) or standard deviation (for z-score) is zero. The tool returns NULL for that column instead of dividing by zero. Null input values also stay null.

Can I scale values within each group, such as per region?

No. Statistics are computed over the whole file. For per-group scaling, filter the file to one group at a time, or use the SQL Query tool with PARTITION BY in the window functions.

Related Tools

Add Calculated Column to CSV Files Online

Add a new column to CSV files computed from an arithmetic expression over existing columns. No formulas, no code — just point and click.

Compute Correlation Matrix for CSV Files Online

Compute a Pearson correlation matrix for numeric columns in CSV files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.

Round Numbers in CSV Files Online

Round numeric columns in CSV files to any number of decimal places directly in your browser. Set precision per column with a simple slider — no upload required.

Normalize Columns in Excel Files Online

Normalize numeric columns in Excel files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.

Normalize Columns in Parquet Files Online

Normalize numeric columns in Parquet files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.

Normalize Columns in JSON Files Online

Normalize numeric columns in JSON files using min-max scaling (0–1) or z-score standardisation (mean=0, std=1). Adds new columns alongside the originals — no upload required.

CSV Viewer Online

View and inspect CSV files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.

Convert CSV to Parquet Online

Convert CSV files to Parquet format directly in your browser. No upload required — your data never leaves your device.