This standard deviation calculator finds sample or population spread from observations, frequency counts or grouped class intervals.
Choose sample or population standard deviation
Choose Sample when the observations are a sample used to estimate variation in a larger population. Choose Complete population when they include every member of the group whose spread you want to describe. The choice depends on that group, rather than the size of your spreadsheet. Both calculations start with the mean and the squared distances from it. Population variance divides their sum by N. Sample variance divides by N − 1 because the mean was estimated from the same observations. Standard deviation is the square root of the selected variance, expressed in the original data units. NIST’s Measures of Scale gives this sample formula; OpenStax explains both dataset conventions. The official Python statistics documentation states that the N − 1 correction makes sample variance unbiased for a suitable independent sample from a common distribution with finite variance. Its square root is the usual sample standard deviation, but is not generally an unbiased estimate of population standard deviation. Both SD values remain available in calculation details so you can check which convention your assignment requires.
The default is Sample. Change it when the observations cover your complete population of interest.
Every observation must describe the same quantity in the same unit. Convert mixed units before entering the list.
Check the calculation with a small dataset
The sample preset enters 2, 4, 4, 4, 5, 5, 7, 9. The engine counts 8 observations, with sum 40 and mean 5.
Its squared-deviation sum is 32. Population variance is 4, giving population SD 2. Sample variance is 4.571428571, giving sample SD 2.138089935.
The data did not change. The different denominator explains the different result. Open Calculation details to follow each observation’s deviation and its contribution to the squared-deviation sum.
Enter exact frequencies or estimate from class intervals
For raw observations, paste a column or separate numbers with commas, spaces, tabs, semicolons or new lines. Simple fractions are accepted; omit thousands separators so a comma cannot split one large value into separate observations. A scientific-notation value is one observation, not an exponent instruction.
Choose Values and frequencies when each row gives an exact observed value and its number of repetitions. Enter one value/count pair per line. Counts must be nonnegative whole numbers; a zero-count row contributes no observations. The frequency preset represents the same data as the worked example, with total count 8, mean 5 and population SD 2. Arbitrary probability or reliability weights are a different variance problem and cannot use this repeated-observation denominator.
Choose Class intervals and frequencies when the individual observations are unavailable. Enter the lower bound, upper bound and count for each nonoverlapping interval. The engine uses each class midpoint, so the result is an estimate of the original observations’ spread. Touching class endpoints are allowed. The class preset has 23 observations, estimated mean 34.56521739 and estimated sample SD 10.21507837. Changing class widths or grouping can change that estimate.
Read variance, standard error and numerical limits
Variance measures squared distances, so its unit is the square of the original measurement unit. SD returns to the original unit. A larger SD describes greater spread relative to a comparable dataset and unit; it does not by itself mean a result is good, bad, normally distributed or an outlier.
Estimated standard error of the mean is sample SD divided by √N. It describes sample-mean uncertainty for independent observations from a common distribution with finite variance, rather than variation among the observations themselves. The sample preset returns estimated SEM 0.755928946. The original observation count supplies N. An enumerated complete population has no sampling uncertainty inferred by this tool, so its SEM is not presented as a sample estimate. OpenStax’s sampling-distribution chapter gives the population relation σ/√N. When that population SD is unknown, substituting the sample SD produces the estimated SEM shown here. No confidence interval is generated automatically.
The Interquartile Range Calculator measures the middle-half spread using a named quartile method and identifies values beyond its Tukey fences. Those values are not silently removed here. Percentage calculates relative changes between quantities; Ratio simplifies proportional terms. These answer different questions from spread around a mean.
The local input limit is 5,000 observations or rows and 100,000 characters in the selected data field. Each numeric token supports up to 128 characters. Frequency totals can reach 1,000,000,000 observations without expanding the rows. Nonzero input magnitudes must be from 1e-100 to 1e+100. Sample SD requires at least two observations; a single complete-population observation has zero spread.
Calculations use finite-precision floating-point numbers and centered compensated sums, which avoid subtracting two large nearly equal squared totals. Input differences smaller than machine precision still cannot be recovered, and fractions are represented approximately. Display rounding does not alter the internal calculation. For long datasets, calculation details show the first 100 rows while the result includes every accepted observation.
Use the Mean Median Mode Calculator to compare arithmetic center, ordered center, all tied repeated modes and range from the same observations or exact frequencies.
Use the Weighted Average Calculator to combine values with nonnegative relative weights and inspect their normalized contributions. It computes a generic mathematical average rather than a course-specific grading policy.
Once you have a reference mean and positive standard deviation, the Z-Score Calculator measures a value's signed distance in standard deviations. Normal areas require a separate, explicit normal-model assumption.
When the measurement has a meaningful zero, the Coefficient of Variation Calculator compares SD to a nonzero mean. It distinguishes signed CV from absolute percentage RSD and warns when the measurement scale makes relative interpretation inappropriate.
The Pooled Standard Deviation Calculator combines sample spreads with degrees-of-freedom weights. Keep groups separate; its within-group result differs from the standard deviation of all observations together.
The Mean Absolute Deviation Calculator averages absolute distances from the mean and offers a clearly labeled unscaled median absolute deviation. Its distance aggregation differs from squared-deviation SD.
The Geometric Mean Calculator averages multiplicative values or equal-period factors. It separates raw values, relative weights and percentage changes, with explicit zero conventions.