# Normal probability plot

- Human page: https://happytails.ai/en/calculators/normal-probability-plot/
- Markdown: https://happytails.ai/en/calculators/normal-probability-plot.md
- Structured JSON: https://happytails.ai/agents/en/calculators/normal-probability-plot/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `normal-probability-plot` |
| Category | calculators |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population.

### Inputs and settings

Text input: Numeric CSV.

Example or placeholder shown in the interface (not a validated fixture):

```text
value
1
2
3
```

Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population. Up to 1,000,000 characters. Review the settings before running.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `reference` | Normal reference | select | "fitted" | Allowed: fitted, specified |
| `mean` | Reference mean | text | "0" |  |
| `sd` | Reference standard deviation | text | "1" |  |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population. Search and sort change this comparison only. Copy result copies the summary. Download JSON or CSV for all observations, results, settings and method assumptions. Download SVG for the chart. One disposable worker per calculation, with a 10-second timeout. CSV supports up to 100 columns and 100000 cells through the shared parser.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "normal-probability-plot",
  "category": "calculators",
  "built": true,
  "requirements": "Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population. Search and sort change this comparison only. Copy result copies the summary. Download JSON or CSV for all observations, results, settings and method assumptions. Download SVG for the chart. One disposable worker per calculation, with a 10-second timeout. CSV supports up to 100 columns and 100000 cells through the shared parser.",
  "implementation": {
    "fields": [
      {
        "key": "reference",
        "label": "Normal reference",
        "value": "fitted",
        "type": "select",
        "values": [
          "fitted",
          "specified"
        ],
        "labels": {
          "fitted": "Fit sample mean and SD",
          "specified": "Use specified mean and SD"
        }
      },
      {
        "key": "mean",
        "label": "Reference mean",
        "value": "0",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 24,
        "showWhen": {
          "reference": [
            "specified"
          ]
        }
      },
      {
        "key": "sd",
        "label": "Reference standard deviation",
        "value": "1",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 24,
        "showWhen": {
          "reference": [
            "specified"
          ]
        }
      }
    ],
    "presentation": "metrics",
    "inputMaxLength": 1000000,
    "inputErrorCode": "DIAGNOSTIC_INPUT",
    "note": "Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population.",
    "experience": {
      "automatic": false,
      "single": false,
      "inputMaxLength": 1000000,
      "inputMode": "text",
      "label": "Numeric CSV",
      "placeholder": "value\n1\n2\n3",
      "help": "Paste comma-separated CSV with a header and 2 to 2000 complete rows. Use dot decimals with at most six decimal places and values from -1000000000 to 1000000000. No missing values are silently dropped. Extra columns are used only to preserve the original input in reports. Calculations use the required columns only. Processing stays on your device. Results use floating-point arithmetic. Charts show the supplied sample, not proof about a population. Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population. Up to 1,000,000 characters. Review the settings before running.",
      "action": null
    },
    "mode": "explicit",
    "interactive": false
  },
  "execution": "Browser interface",
  "api": null,
  "browser_agent": {
    "supported": true,
    "name": "run_current_tool",
    "discovery": "WebMCP on the human page in a supporting browser",
    "verification": "See audit/API-AUDIT.md; availability is not verification"
  }
}
```

## Page guide

Compare observed quantiles with a fitted or specified normal reference using explicit plotting positions.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Normal probability plot

1. Paste complete numeric CSV rows with the required headers. Preserve the original order for lag diagnostics.
2. Choose the displayed method settings and review their assumptions.
3. Read the chart and table, then download all observations, results and assumptions as JSON or CSV.

## Useful next steps

- [Empirical distribution viewer](https://happytails.ai/en/calculators/empirical-distribution-viewer/) ([Markdown](https://happytails.ai/en/calculators/empirical-distribution-viewer.md))

- [Confidence interval calculator](https://happytails.ai/en/calculators/confidence-interval-calculator/) ([Markdown](https://happytails.ai/en/calculators/confidence-interval-calculator.md))

- [Box plot comparison](https://happytails.ai/en/calculators/box-plot-comparison/) ([Markdown](https://happytails.ai/en/calculators/box-plot-comparison.md))

## Normal probability plot

Use a value column. Compare observations with a normal reference fitted from sample mean and sample SD, or a normal reference with a specified mean from -1000000000 to 1000000000 and SD from 0.000001 to 1000000000. Plotting positions are Hazen (rank-0.5)/n. A fitted reference uses the same data and is not an independent validation. A constant sample has zero fitted spread. The plot is a visual diagnostic, not a normality test, p-value or proof of a normal population.

### Keep the complete data trail

Search and sort change this comparison only. Copy result copies the summary. Download JSON or CSV for all observations, results, settings and method assumptions. Download SVG for the chart. Group labels are preserved. Numeric CSV inputs use a decimal point; editable numeric settings also accept the selected language’s decimal notation.
