About CSV, Excel and Data Analyzer
This data analyzer is free, needs no sign-up and runs in your browser, so your data is never uploaded. Drop a .csv, .tsv, .xlsx or .xls file onto it, paste a copied file, or paste text into the box. It parses the table, works out the type of each column and shows you what is inside before you start any real analysis.
Five views cover the usual first questions. Summary gives each column its count, missing values, unique values and, for numbers, the mean, median, minimum, maximum and standard deviation. Profile lays the columns out in a table with the percentage missing, a small histogram or the most common values, and the stray values that did not fit. Correlation draws a Pearson matrix of the numeric columns. Preview pages through the rows 50 at a time with a filter box and click-to-sort headers. Chart builds a bar chart of counts, a histogram or a scatter plot from the columns you choose.
Files are read in a background worker, so a large file does not freeze the page. Text files may use commas, semicolons, tabs or pipes, with quoted fields that hold commas or line breaks. Excel workbooks are read with SheetJS, which loads only when you open a workbook, and a sheet picker appears when the workbook has more than one sheet. Formulas are not recalculated: you see the values Excel saved in the file.
A column counts as numeric when at least 95 percent of its non-missing values are numbers. The few that are not, such as a stray TBD, are left out of the statistics and listed by name, so one typo no longer turns a whole column into text. This is a profiling tool, not a cleaning or modelling tool: it does not edit your data, fill gaps, run regressions or hypothesis tests.
How to use CSV, Excel and Data Analyzer
- Drop a file onto the box, tap it to choose one, or paste a copied file. CSV, TSV, TXT, XLSX and XLS files up to 20 MB are accepted. To paste text instead, use the text box below it.
- For a workbook with several sheets, choose the sheet from the Sheet list that appears.
- Read the Overview: rows, columns, missing values, the delimiter and any columns that held stray values.
- Open Summary for per-column statistics, then Profile for types, percentage missing, distributions and the stray values.
- Open Correlation to see how the numeric columns move together, with blue for positive and red for negative.
- Open Preview to read the rows, 50 per page. Type in the filter box to keep matching rows, and press a column header to sort.
- Open Chart, pick a chart type and a column (two for a scatter plot), or press Open Chart Maker for more chart types.
- Press the download button in Summary to save the column statistics as a CSV file.
Features
- Open .csv, .tsv, .txt, .xlsx and .xls files up to 20 MB, or paste a file or text.
- Parsing runs in a Web Worker for files and pastes, never on every keystroke. The paste box waits half a second after you stop typing.
- Automatic delimiter detection among comma, semicolon, tab and pipe, with quoted fields and a leading byte-order mark handled.
- Excel support through SheetJS, loaded only when a workbook is opened, with a sheet picker.
- Columns are tracked by position, so two columns with the same header stay separate. The second one is shown as "name (2)".
- Majority-type inference: a column is numeric when 95 percent or more of its non-missing values are numbers, and a date column on the same rule. Stray values are listed.
- Missing values recognised as empty cells, NA, N/A, NaN, null, none, nil, a single or double dash and #N/A, in any letter case.
- Per-column count, missing, unique, mean, median, quartiles, minimum, maximum and sample standard deviation.
- Minimum and maximum are found with a loop, so columns of hundreds of thousands of values are safe.
- Pearson correlation matrix of the numeric columns (the first 30 when there are more), using only rows where both values are present.
- Paged preview, 50 rows per page, with a filter and sortable headers, inside a scroll area that works on a phone.
- Chart builder: bar chart of counts, histogram and scatter plot, plus a link to Chart Maker.
- Download of the per-column summary as a CSV file.
How the column statistics are calculated
A column is numeric when at least 95 percent of its non-missing cells are numbers, and the statistics use those numbers only. Thousands separators inside a number, as in 1,200, are removed first, so quote such values in a CSV file. A decimal comma such as 1,5 is not read as a number. The standard deviation is the sample standard deviation (divide by n - 1). Quartiles and the median use linear interpolation between ranks.
The correlation between two columns is the Pearson coefficient, calculated over the rows in which both columns have a number. It is 1.0 on the diagonal and shows a dash when a column has no variation or fewer than two shared rows. Histograms in Chart use Sturges' rule for the number of bins, between 5 and 30.
numeric count(numbers) ÷ count(non-missing) ≥ 0.95
std s = √( Σ(x − x̄)² / (n − 1) )
quantile position = (n − 1) × q, linear interpolation
r(A, B) = Σ(a − ā)(b − b̄) / √( Σ(a − ā)² × Σ(b − b̄)² )
bins k = ⌈log₂ n⌉ + 1Worked examples
The built-in sample: name, age, score, city for five people, one city blank gives age: mean 32, median 30, std 6.6708, min 25, max 42. score: mean 79.6, median 79, std 12.341. city: 4 values, 2 unique, 1 missing.
The correlation between age and score in this tiny sample is 0.42.
A column of the numbers 1 to 19 and one cell that says abc gives Type: number. 19 numbers are used, 1 stray value is left out and listed: abc. Mean 10.
19 of 20 is exactly 95 percent. With two stray values the column would read as text.
A header row of score, score, city gives Columns: score, score (2), city.
Columns are addressed by position, so the two score columns keep their own values and statistics.
The sample sorted by score, high to low, in Preview gives Carol 95, Alice 88, Eve 79, Bob 72, Dan 64.
Download summary CSV for the sample gives Header: column,type,count,missing,excluded,unique,mean,median,std,min,q1,q3,max.
Numbers in the download are rounded to six decimals. The excluded column counts stray values.
What each view shows
| View | Shows | Good for |
|---|---|---|
| Summary | A card per column: type, count, missing, unique, mean, median, min, max, std | A fast overview and the downloadable summary CSV |
| Profile | A table with type, missing count and percentage, unique count, a histogram or top values, and stray values | Spotting gaps, constant columns, odd distributions and typos in number columns |
| Correlation | Pearson correlation grid of the numeric columns | Seeing which numeric columns move together |
| Preview | The rows, 50 per page, with filter and sort | Checking that the file was read the way you expect |
| Chart | A bar chart of counts, a histogram or a scatter plot of the columns you pick | Seeing a shape in the data before choosing a method |
Good to know
Excel files
The tool opens .xlsx and .xls workbooks with SheetJS, read in a worker. It opens the first sheet and shows a Sheet list when there are more. The first non-empty row of the sheet is treated as the header row, and blank rows are skipped.
You see the values stored in the file. Formulas are not recalculated, so a formula cell shows the last result Excel saved. Numbers arrive as the underlying number, so a cell shown as 15% arrives as 0.15, and dates arrive as ISO text such as 2026-03-04. Merged cells, charts, pivot tables and formatting are not carried over, and password-protected workbooks cannot be opened. The old .xls format is read on a best-effort basis.
You can still paste a range copied from Excel. Excel copies it as tab-separated text, which the delimiter detection recognises.
Stray values and the 95 percent rule
Real files rarely have clean columns. One TBD in a column of prices used to turn the whole column into text. A column is now numeric when at least 95 percent of its non-missing values are numbers, and the others are listed in the Overview and the Profile view, up to ten distinct ones, so you can find and fix them. They are not counted in the mean, median or any other statistic.
Below 95 percent, the column is text, and the statistics shown are counts and the most common values. With few rows the rule is strict: in a column of ten values, a single stray value is already 90 percent.
What it does not do
It does not edit or clean data, fill missing values, convert column types, run models or tests, or export anything but the summary CSV. The scatter plot is thinned to 5,000 evenly spaced points when there are more rows, and the correlation matrix covers the first 30 numeric columns.
Privacy: how it works
- Files are read by your browser and parsed by JavaScript in a worker on this page. The contents are not sent to Ulkaa or to any other server. The Excel reader is part of this site and loads from it, not from a third party, and only when you open a workbook.
- Nothing is stored. Reloading the page clears everything. The summary CSV is created on your device when you press the download button.
Tips
- If a column you expected to be numeric shows as text, open Profile and read its stray values. A currency symbol, a decimal comma or a word is usually the cause.
- Check the missing count before looking at averages. A mean computed from only 60 percent of the rows can mislead.
- A correlation matrix only covers numeric columns. Encode a yes or no column as 1 and 0 first if you want it included.
- Quote any field that contains your delimiter, such as "1,200" in a comma file, so the row keeps its column count.
- For a very large file, open it instead of pasting it. The paste box is meant for small pastes.
- Delimiter detection looks at the first five lines. Make sure they use the same separator as the rest.
Frequently asked questions
Is it really free?
Yes. There is no price, no trial and no credit card. Ulkaa Tool does the work with your own device, so there is no server bill to pass on to you.
Do I need an account?
No. There is no sign-up and no login. Open the page and use it. An Ulkaa account is not needed for anything on this tool.
Does it run in my browser?
Yes. Your data are processed by code running in your browser tab, on your own device.
Is my data uploaded?
No. Your data are never sent to Ulkaa or to anyone else. You can check this yourself by watching the Network tab in your browser developer tools while you use the tool.
What file formats can I analyze?
CSV, TSV and plain text files with delimited columns, and Excel workbooks in .xlsx and .xls form, up to 20 MB. You can also paste text or a file.
Can it open Excel files?
Yes. Drop an .xlsx or .xls file and it is read in your browser with SheetJS. If the workbook has several sheets, pick one from the Sheet list. Formulas show the value saved in the file and are not recalculated.
Is my Excel file uploaded?
No. The file is read and parsed on your device, in a background worker. The Excel reader is part of this site and loads only when you open a workbook.
How are missing values handled?
Empty cells and the markers NA, N/A, NaN, null, none, nil, -, -- and #N/A are counted as missing. They are skipped in the statistics and in each pairwise correlation.
Why does one odd value not turn the column into text?
A column is numeric when at least 95 percent of its non-missing values are numbers. The others are left out of the statistics and listed by name so you can fix them.
What happens with two columns that have the same header?
Each keeps its own values. The second is shown as "name (2)", the third as "name (3)", and a blank header becomes column_N.
How large a file can I open?
Files up to 20 MB are accepted. Larger ones are refused with a message. A big file within the limit can take a few seconds because it runs on your device, and the page stays usable meanwhile.
Which delimiters are supported?
Commas, semicolons, tabs and pipes. The most frequent one in the first five lines is chosen.
Can I edit or clean the data here?
No. It is a read-only profiler. It shows you the problems, and you fix them in your spreadsheet or code.
Popular CSV, Excel and Data Analyzer pages
- CSV Analyzer OnlinePer-column statistics for a CSV file, in the Summary view.
- CSV Viewer OnlineLook at your CSV as a table, with a filter box and sortable columns.
- Excel Data AnalyzerOpen an Excel workbook, pick a sheet and get column statistics.
- Excel Viewer OnlineOpen an Excel file, choose a sheet and read it as a table.
- Correlation Matrix OnlineA Pearson correlation matrix of every numeric column in your data.
- Data Profiling Tool OnlineA column-by-column profile of a CSV, an Excel sheet or a pasted table.