Compute Correlation Matrix for JSON Files Online
Compute a Pearson correlation matrix for numeric columns in JSON files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.
How to compute Correlation Matrix for JSON files
- Drop your file onto the upload area. Every numeric column is found and selected.
- Click column names to leave out any you do not want, such as ID or ZIP code columns. At least two must stay selected.
- Click Compute Correlations. A colour-coded matrix appears, blue for positive and red for negative, with values to 3 decimals. Hover a cell for 6 decimals.
- Click Export Matrix CSV to download the matrix with values to 4 decimals.
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
An estate agent has recent house sales and wants to see which property features move with the sale price before building a pricing model.
Input (JSON)
[
{
"floor_area_sqft": 1450,
"bedrooms": 3,
"age_years": 32,
"sale_price": 612000
},
{
"floor_area_sqft": 2100,
"bedrooms": 4,
"age_years": 8,
"sale_price": 845000
},
{
"floor_area_sqft": 980,
"bedrooms": 2,
"age_years": 55,
"sale_price": 455000
},
{
"floor_area_sqft": 1720,
"bedrooms": 3,
"age_years": 20,
"sale_price": 701000
},
{
"floor_area_sqft": 2600,
"bedrooms": 5,
"age_years": 3,
"sale_price": 990000
},
{
"floor_area_sqft": 1200,
"bedrooms": 2,
"age_years": 41,
"sale_price": 540000
}
]Settings
- Numeric columns: floor_area_sqft, bedrooms, age_years, sale_price (all selected)
- Export: Export Matrix CSV
Result
| floor_area_sqft | bedrooms | age_years | sale_price | |
|---|---|---|---|---|
| floor_area_sqft | 1.0000 | 0.9830 | -0.9669 | 0.9991 |
| bedrooms | 0.9830 | 1.0000 | -0.9306 | 0.9798 |
| age_years | -0.9669 | -0.9306 | 1.0000 | -0.9721 |
| sale_price | 0.9991 | 0.9798 | -0.9721 | 1.0000 |
The output is always a CSV, whatever the input format, with an empty top-left header cell. Floor area tracks price almost perfectly at 0.9991. Age is strongly negative at -0.9721: older homes sold for less. The diagonal is 1 because each column matches itself, and the matrix is symmetric. With only six rows these values are fragile, and one unusual sale could move them a lot.
Working with JSON files
Each top-level key whose values are JSON numbers becomes a numeric column. If a key holds numbers in some objects and strings in others, for example 12 and "12", it loads with a mixed type and is not offered. Integer and decimal values in the same key are fine and load as a floating-point column. Keys that are null in some objects are also fine, as long as the non-null values are all numbers. Booleans such as "active": true are left out of the list.
Objects that are missing a key contribute nothing to the pairs that involve it. Their other values still count for the remaining pairs. Numbers inside nested objects are not reached, so flatten the file first if the measures you want sit under a key like metrics.cpu or metrics.memory. The matrix is downloaded as CSV rather than JSON, with one row per column and the column names as the header.
Frequently Asked Questions
Can I correlate numbers inside nested JSON objects?
Flatten the JSON first so each nested number becomes its own top-level column. Nested values are not offered as they are.
Why is a numeric JSON key not listed?
Some objects store that value as a string, so the key loaded with a mixed type. Make the values consistent numbers in the source.
Which correlation method is used?
Pearson correlation, which measures straight-line relationships. A strong curved relationship can still show a value near 0. Spearman and Kendall are not available.
Why does a cell show NaN or a dash?
NaN means one of the two columns has the same value in every row it shares with the other, or only one shared row exists, so there is no variation to correlate. A dash means there were no rows with values in both columns. In the CSV export a dash becomes an empty cell.
Is there a limit on the number of columns?
There is no fixed limit, but the matrix grows with the square of the column count. Deselect IDs and other columns that are not real measures to keep it readable.
Related Tools
Detect Outliers in JSON Files Online
Detect statistical outliers in JSON files directly in your browser. Flag or remove rows where numeric values exceed a chosen number of standard deviations from the mean — 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.
Manage Columns in JSON Files Online
Drop or select specific columns from JSON files directly in your browser. No upload required.
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.
Compute Correlation Matrix for Excel Files Online
Compute a Pearson correlation matrix for numeric columns in Excel files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.
Compute Correlation Matrix for Parquet Files Online
Compute a Pearson correlation matrix for numeric columns in Parquet files directly in your browser. Instantly spot which variables move together — colour-coded heatmap, no upload required.
JSON Viewer Online
View and inspect JSON files directly in your browser. Browse rows, check column names and data types — no upload required, your data stays on your device.
Convert JSON to Parquet Online
Convert JSON files to Parquet format directly in your browser. No upload required — your data never leaves your device.