Developer tools
CSV Column Stats
Understand each column.
Count values, find the average, and measure the spread.
Processed in your browser
1. Add CSV
Choose a UTF-8 file or paste CSV.
2. Choose columns
Positions distinguish duplicate or empty headers. Select text columns to count missing and distinct values too.
0 selected
Loading controls…
Column statistics
No result yet
All data rows are analyzed. Only the preview is paged; copy and download include every selected column and the statistical definitions.
How to use
- Add your data.
Choose a UTF-8 file or paste CSV and read its columns. Check the detected delimiter and whether the first row contains headers.
- Select columns.
Read the original string samples, choose columns by position, then analyze.
- Save the report.
Inspect counts and numeric statistics, then copy or download JSON.
How numbers are interpreted
Decimal format and missing values
Numbers use a decimal dot, optional sign and optional exponent: -12.5, .5, 1e3. Surrounding whitespace is ignored for numeric parsing. Grouping commas, currency symbols, percentages, dates, hexadecimal, Infinity and NaN are invalid. Nonzero values that round to zero during parsing are also invalid. A decimal comma such as 1,5 is invalid too. Leading zeros are ignored numerically, so 007 counts as 7; column types are not guessed, and every nonblank cell that is not a number is counted as invalid.
Empty, whitespace-only and absent cells count as blank. Blank and invalid cells are omitted from numeric statistics. Distinct counts compare original nonblank strings exactly, including case and whitespace: 01 and 1 are distinct. Input strings are never converted in the source preview.
Precision and unavailable results
Calculations use 64-bit binary floating-point numbers, not exact decimal arithmetic. Each cell is rounded to the nearest 64-bit value when read, so 0.1 plus 0.2 shows 0.30000000000000004. Figures are shown with every digit of the 64-bit result and are not rounded for display. Integers beyond ±9,007,199,254,740,991 may round; their count is shown. Use exact decimal software when that precision is required.
An em dash (JSON null) means no valid numeric values, too few sample values, or overflow. Overflow and detected underflow have notes. Empty numeric sets have no sum. No fixed row or file limit is imposed; browser memory is the practical limit. Cancel terminates processing.
Average, quartiles and spread
Mean is sum divided by valid count. Median, Q1 and Q3 use linear interpolation at (n − 1) × p in sorted values, with p = 0.5, 0.25 and 0.75 (type 7). Range is maximum minus minimum.
Population variance divides squared deviations from the mean by n; sample variance divides by n − 1 and requires at least two values. Standard deviations are the square roots of those variances. The sum is the exact total of the 64-bit cell values, rounded once, so whole numbers add up exactly while the total stays within the safe integer range. Mean, quartiles, variance and deviation can differ from exact arithmetic in their last digit or two.
CSV and privacy
Quoted commas, escaped quotes and multiline fields are supported. Uneven rows remain included; absent fields count as blank. Blank records count as data rows; a final record terminator does not add a row. Auto-detection can be uncertain, so check the samples.
Files stay in this browser tab and are not uploaded or saved by the tool. Reset clears input and output. Reports contain header strings; JSON does not execute spreadsheet formulas.