Standard Deviation Calculator
Enter Data Set (separate numbers with commas or spaces):
Calculation Type:
Sample Standard Deviation (n-1)
Population Standard Deviation (n)
Calculate Results
Calculation Results
Count (n):
Mean (Average):
Sum:
Variance:
Standard Deviation (σ/s):
Please enter a valid list of numbers separated by commas or spaces.
How to Calculate Standard Deviation
Standard deviation (SD) is a statistical measure that quantifies the amount of variation or dispersion in a set of values. A low standard deviation indicates that the data points tend to be close to the mean (average) of the set, while a high standard deviation indicates that the data points are spread out over a wider range of values.
The Standard Deviation Formula
Depending on whether you are analyzing an entire population or just a sample from that population, the formula changes slightly:
Sample Standard Deviation (s): √[ Σ(x – x̄)² / (n – 1) ]
Population Standard Deviation (σ): √[ Σ(x – μ)² / n ]
Step-by-Step Calculation Guide
Calculate the Mean: Find the average of all the numbers in your data set.
Subtract the Mean: For each number in the set, subtract the mean and square the result (x – μ)².
Sum the Squares: Add all the squared values together.
Divide: For population SD, divide by the number of values (n). For sample SD, divide by (n – 1). This result is the Variance .
Square Root: Take the square root of the variance to find the Standard Deviation .
Real-World Example
Imagine a teacher measuring the heights of 5 students in centimeters: 150, 160, 170, 180, and 190.
Mean: (150+160+170+180+190) / 5 = 170 cm.
Squared Differences: (150-170)²=400, (160-170)²=100, (170-170)²=0, (180-170)²=100, (190-170)²=400.
Sum of Squares: 400 + 100 + 0 + 100 + 400 = 1000.
Sample Variance: 1000 / (5 – 1) = 250.
Sample Standard Deviation: √250 ≈ 15.81 cm.
This means most student heights fall within roughly 15.8 cm of the average height.
function calculateSD() {
var input = document.getElementById('dataset').value;
var resultsArea = document.getElementById('resultsArea');
var errorArea = document.getElementById('errorArea');
var resCount = document.getElementById('resCount');
var resMean = document.getElementById('resMean');
var resSum = document.getElementById('resSum');
var resVariance = document.getElementById('resVariance');
var resSD = document.getElementById('resSD');
// Clean input and convert to array of numbers
var numbers = input.trim().split(/[ ,]+/).filter(function(v) {
return v !== " && !isNaN(parseFloat(v));
}).map(Number);
if (numbers.length < 2) {
resultsArea.style.display = 'none';
errorArea.style.display = 'block';
return;
}
errorArea.style.display = 'none';
var n = numbers.length;
var sum = 0;
for (var i = 0; i < n; i++) {
sum += numbers[i];
}
var mean = sum / n;
var sumSqDiff = 0;
for (var j = 0; j < n; j++) {
sumSqDiff += Math.pow(numbers[j] – mean, 2);
}
var isPopulation = document.querySelector('input[name="sdType"]:checked').value === 'population';
var divisor = isPopulation ? n : n – 1;
var variance = sumSqDiff / divisor;
var sd = Math.sqrt(variance);
// Display Results
resCount.innerHTML = n;
resSum.innerHTML = sum.toFixed(4).replace(/\.?0+$/, "");
resMean.innerHTML = mean.toFixed(4).replace(/\.?0+$/, "");
resVariance.innerHTML = variance.toFixed(4).replace(/\.?0+$/, "");
resSD.innerHTML = sd.toFixed(4).replace(/\.?0+$/, "");
resultsArea.style.display = 'block';
}