Home / Science / Maths, statistics and computing / Statistics / Probability distribution explorerTool #563

Probability distribution calculator: pdf, cdf, quantiles, shaded probabilities and random samples for 35 distributions

Pick a distribution (normal, t, chi-squared, F, beta, gamma, Weibull, binomial, Poisson and 26 more), set its parameters and see the curve with the probability between two values shaded, the quantiles, mean, variance, skewness and kurtosis, and draw seeded random samples. Matches scipy.stats.

Keep it one tap away for everyday use.

Bookmark Probability distribution explorer?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Distribution
  2. Parameters
  3. Shade a, b
  4. Quantiles
Nothing is uploadedWorks offline once open

Distribution

Probability and quantiles

For whole-number distributions the end points count: “between” is P(a ≤ X ≤ b), “above” is P(X ≥ a). A quantile is the value x with P(X ≤ x) = p; for whole numbers it is the smallest k with P(X ≤ k) ≥ p.

Result

Quantiles

Download

Random sample

The same seed always gives the same numbers, so a class or a report can repeat them. Up to 100,000 values.

What it does

This is a statistics table and a graphing calculator in one. Choose a probability distribution, type its parameters, and the page shows:

  • the density (or, for whole-number distributions, the probability of each value) with the area you ask about shaded, and its probability to six significant figures;
  • the cumulative distribution P(X ≤ x);
  • quantiles (inverse CDF) for any list of probabilities, such as the 2.5 % and 97.5 % points used for 95 % intervals;
  • the mean, variance, standard deviation, skewness, excess kurtosis, median and support. A moment that does not exist is shown as undefined (for example the mean of a Cauchy distribution) or infinite (the variance of t with 2 degrees of freedom);
  • a random sample of up to 100,000 values from a seed you choose, with its histogram drawn over the true curve.

There are 35 distributions. Continuous: normal, Student’s t, chi-squared, F, beta, gamma, exponential, Weibull, log-normal, Cauchy, logistic, Gumbel, Pareto, uniform, triangular, Laplace, Rayleigh, Rice, von Mises, chi, Maxwell–Boltzmann, inverse gamma, half-normal, generalised extreme value, generalised Pareto, inverse Gaussian and log-logistic. Whole numbers: Bernoulli, binomial, Poisson, negative binomial, geometric, hypergeometric, discrete uniform and beta-binomial. Each one has a line saying where it turns up, and each parameter a line saying what it does.

How to use it

  1. Pick the distribution. The page fills in sensible parameters and sets a and b to the 2.5 % and 97.5 % points.
  2. Change the parameters. Under them you see the same distribution written as scipy.stats would take it, which helps when you move to code.
  3. Choose what to shade: between a and b, below b, above a, or outside a to b (both tails, as in a two-sided p-value).
  4. Type the probabilities you want quantiles for, separated by commas.
  5. Optionally set the plot range. Download the curve as CSV, or the whole result as an image, PDF or Word file.
  6. To simulate, choose how many values and a seed, then press Draw sample. The CSV holds the values.

For whole-number distributions the end points count: “between 3 and 9” is P(3 ≤ X ≤ 9), and “above 5” is P(X ≥ 5). For continuous ones it makes no difference.

Worked example

The page opens on the standard normal with a = −1.96 and b = 1.96. It shows P(−1.96 < X < 1.96) = 0.950004, outside 0.0499958, and quantiles −1.95996, 0 and 1.95996 for 0.025, 0.5 and 0.975: the familiar 95 % interval.

Now pick Binomial with n = 20 trials and p = 0.3, shade between a = 3 and b = 9: P(3 ≤ X ≤ 9) = 0.916555. The mean is 6, the variance 4.2 and the skewness 0.195180. Switch to above with a = 5: P(X ≥ 5) = 0.762492.

For a test statistic, choose Student’s t with ν = 10 and shade outside −2.228 to 2.228: about 0.05, so 2.228 is the two-sided 5 % critical value (the 0.975 quantile is 2.22814).

How accurate is it?

Every distribution was checked against scipy.stats at several points, in the tails too: densities, CDFs, upper tails and quantiles agree to at least 9 significant figures (usually 14). Upper tails are worked out directly, not as 1 minus the CDF, so P(X > x) keeps its digits even when it is 10⁻¹⁵. Random samples use a seeded sfc32 generator and pass a Kolmogorov–Smirnov test against the true CDF.

What it does not do

It does not fit a distribution to your data (try the reliability analysis tool for lifetimes), and it has no non-central or multivariate distributions. The von Mises distribution takes angles in radians between μ − π and μ + π.

Frequently asked questions

Why is the density above 1? A density is not a probability; only areas under it are. A narrow curve can be tall.

Why does the beta or gamma curve shoot up at zero? With a shape below 1 the density is infinite at 0. The chart cuts the top off so you can still see the rest.

What is excess kurtosis? Kurtosis minus 3, so the normal distribution scores 0. Positive means heavier tails than normal.

Is anything sent anywhere? No. Everything is worked out in your browser.

Where the numbers come from

  • Formulas are standard textbook results. Methods: Loader's saddle-point binomial and Poisson terms (as in R), Numerical Recipes series and continued fractions for the incomplete gamma and beta functions, Gauss–Legendre quadrature for the Rice and von Mises distributions.
  • Checked against scipy.stats 1.18.1 for all 35 distributions (density or mass, CDF, survival function and quantiles at several points, and the four moments), and against mpmath at 30 digits where scipy's own far-tail values are slightly off.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Reliability and agreement #40 Check a questionnaire scale with Cronbach's alpha and item statistics, or rater agreement with Cohen's kappa (weighted too), Fleiss' kappa and all six intraclass correlations with 95 % intervals. Matches R's psych package. Sample size and power calculator #32 How many subjects, samples or survey responses do you need? Sample size for comparing two means, paired data, two proportions, or a survey's margin of error, with power curves. Matches R and G*Power. Uncertainty propagation calculator #25 Type your formula and your measurements with their uncertainties, or paste repeated readings. Get the result with its uncertainty, which input matters most, and a Monte Carlo check. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Hypothesis test chooser and runner #560 Answer three questions and the right test is picked for you, then run it on your pasted data: t tests (one-sample, Welch, Student, paired), ANOVA with Tukey HSD, chi-square, Fisher's exact, Mann-Whitney, Wilcoxon, Kruskal-Wallis and Shapiro-Wilk. Plain-English results, effect sizes and assumption checks. Matches scipy. Regression workbench #561 Paste a table or open a CSV or Excel file and fit a multiple linear, polynomial or logistic regression. Get coefficients with standard errors, t or z tests, p-values and confidence intervals, R², adjusted R², AIC and BIC, odds ratios, predictions with intervals, and the diagnostic plots: residuals, Q-Q, leverage and Cook's distance, with VIF. Matches statsmodels. Time series decomposition and ARIMA #566 Paste a series and split it into trend, season and remainder (STL or classical), see the ACF and PACF with confidence bands, try differencing, and fit an ARIMA(p, d, q) model by exact maximum likelihood with forecasts, 80 % and 95 % intervals and a Ljung-Box check. Matches statsmodels. Design of experiments generator #567 Plan an experiment: full factorial, 2^(k−p) fractional factorial with its alias table, Plackett-Burman screening, central composite or Box-Behnken response-surface designs. Get a randomised run sheet (seeded, so you can repeat it) as CSV, then paste your results to see which factors matter.