ForHosting KIT · Math

Standard normal probability calculator

The area between z values of −1.96 and 1.96 is about 95 % of the standard normal curve. Enter a lower and an upper z to get the probability between them, the same figure as a percentage and the cumulative area at each end. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Z lower
-1.96
Z upper
1.96
You get
Probability
0.9500043478
Percent
95.0004347784
Phi lower
0.0249978261
Phi upper
0.9750021739

The standard normal distribution is the reference bell curve with mean zero and standard deviation one. Almost every introductory statistics course, quality-control chart, and standardized testing table eventually asks the same question: given two z values on that curve, how much probability mass sits between them? This standard normal probability calculator answers that question with a single deterministic evaluation of the standard normal cumulative distribution function.

How the standard normal interval probability is defined

A standard normal random variable Z has density proportional to exp of minus z squared over two, centered at zero with unit spread. The cumulative distribution function Φ(z) equals the probability that Z is at most z, which is the area under the curve from negative infinity up to that point. Because Φ is strictly increasing, the difference is always non-negative whenever the lower bound does not exceed the upper bound.

When the bounds are equal the probability is exactly zero, which is the correct continuous-distribution answer for a single point. When the bounds span a wide central region the probability approaches one without ever needing Monte Carlo sampling or external tables.

The calculator implements Φ through the error function identity Φ(z) equals one half times one plus erf of z over square root of two, using the classic Abramowitz and Stegun rational approximation so every evaluation is pure floating-point arithmetic with no network call, no random seed, and no wall-clock dependence.

Where this calculator shows up in real work

Quality-control and process-monitoring teams convert control limits into standard normal mass so they can state how much of a stable process is expected between the lower and upper specification lines under a normal model. Psychometrics and standardized testing convert cut scores into z units and then into pass-rate probabilities when scores are assumed normal after equating. Data-science notebooks often need a quick, dependency-free Φ difference when validating a simulation or checking that a confidence interval width matches the intended coverage.

If you later need to convert a raw exam score into a z-score, compute a full descriptive summary, or evaluate a non-standard normal with arbitrary mean and sigma, treat those as separate search intents and landings rather than overloading this standard normal probability page.

Homework and exam table checks

Students and graders verify P(a ≤ Z ≤ b) for given z bounds against the standard normal table without scanning printed pages.

Control limits and process capability

Quality engineers map lower and upper control or specification limits into standard normal mass for stable-process coverage estimates.

Confidence and critical-value explanations

Teachers and analysts show how central intervals such as ±1.96 map to approximately ninety-five percent probability under N(0,1).

What happens if the lower bound is greater than the upper bound?

An inverted interval would produce a negative probability, so the engine rejects it with a clear message.

Is the result exact?

It is a high-accuracy analytic approximation (Abramowitz & Stegun erf). Errors are far smaller than printed z-table rounding; results are fully deterministic.

What does it cost?

The browser tool is free and runs locally.

What is the probability between −1.96 and 1.96?

About 95 %. It is the cumulative area up to 1.96 minus the cumulative area up to −1.96, which is why that pair of z values marks the usual two-sided 95 % interval.

How do I get a one-sided tail probability?

Read the cumulative area that the calculator shows for each bound: it is the probability of falling below that z value. The area above a z value is one minus that figure.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/stat/standard-normal-probability

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/stat/standard-normal-probability \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"z_lower":-1.96,"z_upper":1.96}'
{
  "z_lower": -1.96,
  "z_upper": 1.96
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "stat.standard_normal_probability",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

You supply a lower z bound and an upper z bound; the tool returns the probability P(z_lower ≤ Z ≤ z_upper), the same figure as a percentage, and the individual CDF values at each endpoint so you can check the subtraction yourself. When the lower bound is greater than the upper bound the request is rejected with a clear validation error instead of a silent negative area. Pricing for successful API calls is the published base of $0.002 per item; invalid input is not charged.

How the standard normal interval probability is defined

The probability that Z falls inside a closed interval from z_lower to z_upper is therefore the difference of those cumulative areas: Φ(z_upper) minus Φ(z_lower). That single subtraction recovers every textbook table lookup that students once performed by hand: the central mass between minus 1.96 and plus 1.96 is about ninety-five percent, the mass from zero to one is about thirty-four percent, and the mass beyond three is a thin tail.

What you send and what you get back

Classic checks include the two-sided ninety-five percent interval from minus 1.96 to 1.96, the one-sigma strip from zero to one, and the full central sixty-eight percent strip from minus one to one. Send two required finite numbers: z_lower for the left endpoint of the interval and z_upper for the right endpoint. The engine also accepts the aliases lower, a, and z1 for the left bound, and upper, b, and z2 for the right bound, so scripts written with classroom notation do not need a rename step. Missing fields, empty strings, NaN, and Infinity fail with invalid_input and are not charged. If z_lower is strictly greater than z_upper the engine rejects the request with a message that the lower bound exceeds the upper bound, because an inverted interval would produce a negative probability that misleads rather than helps. On success the response echoes the cleaned bounds, returns probability as a unit-interval number, returns percent as that probability times one hundred for quick report copy-paste, and includes phi_lower and phi_upper so you can verify the subtraction against a table or a second library. A short formula string restates the identity P(z_lower ≤ Z ≤ z_upper) equals Φ(z_upper) minus Φ(z_lower) for Z distributed as standard normal. Wire the free browser form for homework and demos, then call the identical contract from scripts when you need bulk interval probabilities for many bound pairs under one JSON shape.

Where this calculator shows up in real work

Secondary-school and college statistics courses constantly assign empirical-rule drills, critical-value tables, and “find the area between two z scores” exercises; a single trusted oracle that returns cleaned JSON speeds grading and demo setup without scanning a printed table. Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

What formula does this calculator use?

P(z_lower ≤ Z ≤ z_upper) = Φ(z_upper) − Φ(z_lower), where Φ is the standard normal CDF and Z ~ N(0,1). Φ is evaluated via erf(z/√2).

Can I use aliases instead of z_lower and z_upper?

Yes. Lower bound aliases: lower, a, z1. Upper bound aliases: upper, b, z2. Only one name per bound is needed.

Read the full KIT documentation →