Free research tool

Bland–Altman calculator and plot

Paste two columns of paired measurements to get the bias (mean difference), the 95% limits of agreement (bias ± 1.96 SD) with confidence intervals for each, a regression test for proportional bias, and a journal-ready Bland–Altman plot you can download as SVG or PNG. Nothing leaves your browser.

Updated . Free, no sign-up. Calculations run in your browser and your data is never uploaded.

1. Your paired data

One row per paired measurement: the device value and the reference value taken at the same time. Pre-filled with the peak expiratory flow data from Bland & Altman (1986), Table 1. Your data stays in this browser tab; nothing is uploaded.

2. Bland–Altman agreement

n = 17
Bias (mean difference)
−2.1 l/min
95% CI −22.0 to 17.8
Lower limit (95%)
−78.1 l/min
95% CI −112.9 to −43.3
Upper limit (95%)
73.9 l/min
95% CI 39.1 to 108.6
SD of differences
38.8 l/min
Proportional bias slope
0.029
95% CI −0.159 to 0.217; p = 0.749
Proportional bias?
Not detected
Regression of differences on means
300400500600−100−50050100Mean of wright and mini_wright (l/min)wright − mini_wright (l/min)+1.96 SD73.9Mean−2.1−1.96 SD−78.1

3. Error metrics and ICC

MAE
28.9 l/min
MAPE
7.5%
vs reference
RMSE
37.7 l/min
Pearson r
0.943
Association, not agreement
Intraclass correlation coefficients
FormModelICC95% CIF (df)p
ICC(1,1)One-way random effects, absolute agreement, single measurement0.9460.861 to 0.98036.05 (16, 17)< 0.001
ICC(2,1)Two-way random effects, absolute agreement, single measurement0.9460.857 to 0.98034.03 (16, 16)< 0.001
ICC(3,1)Two-way mixed effects, consistency, single measurement0.9430.850 to 0.97934.03 (16, 16)< 0.001

ICC(2,1) = 0.946. Koo and Li (2016) suggest judging reliability on the confidence interval: here it runs from good to excellent (<0.5 poor, 0.5–0.75 moderate, 0.75–0.9 good, >0.9 excellent). An ICC describes reliability relative to the spread between subjects, so it can be high even when the bias is clinically large; report it with the Bland–Altman limits.

4. Methods paragraph

Agreement between wright and mini_wright (n = 17 paired measurements) was assessed with Bland–Altman analysis (Bland & Altman, 1986). The mean difference (wright minus mini_wright) was −2.1 l/min (95% CI −22.0 to 17.8), and the 95% limits of agreement were −78.1 l/min (95% CI −112.9 to −43.3) to 73.9 l/min (95% CI 39.1 to 108.6); confidence intervals for the limits used the approximate standard error of Bland and Altman (1999). Proportional bias was assessed by regressing the differences on the pair means (slope 0.029, 95% CI −0.159 to 0.217, p = 0.749). Mean absolute error was 28.9 l/min, root-mean-square error 37.7 l/min and mean absolute percentage error 7.5% relative to mini_wright. ICC(2,1) (two-way random effects, absolute agreement, single measurement) was 0.946 (95% CI 0.857 to 0.980) (Shrout & Fleiss, 1979; McGraw & Wong, 1996). Analyses were run in the ChatPPG Bland-Altman Calculator (version 1.0; https://chatppg.com/tools/bland-altman-calculator).

Check the wording against your study design before you use it, and report how pairs were time-aligned.

Cite this analysis

Cite the methods papers for the statistics you report, and the tool if it helped. ChatPPG. Bland-Altman Calculator (version 1.0). 2026. https://chatppg.com/tools/bland-altman-calculator. Accessed 2026-10-18.

Preview BibTeX
@software{chatppg_bland_altman_calculator_2026,
  author = {{ChatPPG}},
  title = {{Bland-Altman Calculator}},
  year = {2026},
  version = {1.0},
  publisher = {ChatPPG},
  url = {https://chatppg.com/tools/bland-altman-calculator},
  urldate = {2026-10-18}
}

@article{bland1986,
  author = {Bland, J. Martin and Altman, Douglas G.},
  title = {{Statistical methods for assessing agreement between two methods of clinical measurement}},
  journal = {The Lancet},
  year = {1986},
  volume = {327},
  number = {8476},
  pages = {307--310},
  doi = {10.1016/S0140-6736(86)90837-8}
}

@article{bland1999,
  author = {Bland, J. Martin and Altman, Douglas G.},
  title = {{Measuring agreement in method comparison studies}},
  journal = {Statistical Methods in Medical Research},
  year = {1999},
  volume = {8},
  number = {2},
  pages = {135--160},
  doi = {10.1177/096228029900800204}
}

@article{shrout1979,
  author = {Shrout, Patrick E. and Fleiss, Joseph L.},
  title = {{Intraclass correlations: uses in assessing rater reliability}},
  journal = {Psychological Bulletin},
  year = {1979},
  volume = {86},
  number = {2},
  pages = {420--428},
  doi = {10.1037/0033-2909.86.2.420}
}

@article{mcgraw1996,
  author = {McGraw, Kenneth O. and Wong, S. P.},
  title = {{Forming inferences about some intraclass correlation coefficients}},
  journal = {Psychological Methods},
  year = {1996},
  volume = {1},
  number = {1},
  pages = {30--46},
  doi = {10.1037/1082-989X.1.1.30}
}

@article{koo2016,
  author = {Koo, Terry K. and Li, Mae Y.},
  title = {{A guideline of selecting and reporting intraclass correlation coefficients for reliability research}},
  journal = {Journal of Chiropractic Medicine},
  year = {2016},
  volume = {15},
  number = {2},
  pages = {155--163},
  doi = {10.1016/j.jcm.2016.02.012}
}

How the numbers are calculated

For each pair the tool takes the difference (device minus reference) and the mean of the two. The bias is the mean of the differences, d̄, and s is their standard deviation. The limits of agreement are d̄ ± 1.96s (Bland & Altman, 1986).

The confidence interval for the bias is d̄ ± t × s/√n. For each limit, the standard error is s × √(1/n + 1.96²/(2(n − 1))), and its confidence interval is the limit ± t × SE, with t taken from the t distribution on n − 1 degrees of freedom (Bland & Altman, 1999). Proportional bias is tested by regressing the differences on the means; a slope different from zero means the disagreement changes with the size of the measurement.

Reading the plot

Each circle is one pair. The solid line is the bias, the dashed lines are the limits of agreement, and the shaded bands are their confidence intervals. Look for a funnel shape (spread growing with the mean) or a slope. If the spread grows with magnitude, Bland and Altman (1999) suggest transforming the data, for example with logs; the percentage-difference option here is a related alternative.

Is the agreement good enough?

Statistics can't decide that. Set the largest difference that would be clinically or practically acceptable before you collect data, then check whether the confidence intervals of both limits sit inside it. The sample-size calculator uses exactly this rule. For context, see how published studies of wearables report heart rate and SpO2 agreement on the wearable accuracy pages.

Validated against R and Python

On the Bland & Altman (1986) peak-flow data the tool returns a bias of −2.1 l/min and an SD of 38.8 l/min, matching the paper, and its limits and confidence intervals match R's SimplyAgree package to eight decimal places. The regression and error metrics match SciPy. The tests are in the ChatPPG repository.

Frequently asked questions

What are 95% limits of agreement?

They are the bias plus and minus 1.96 times the standard deviation of the differences. If the differences are roughly normally distributed, about 95% of differences between the two methods are expected to fall between them (Bland & Altman, 1986).

Why report confidence intervals for the limits of agreement?

The limits are estimates from a sample. Their confidence intervals show how precise they are, and they widen sharply in small studies. Bland and Altman (1999) give the approximate standard error this tool uses.

Should I plot the difference against the reference or the mean?

Bland and Altman plot the difference against the mean of the two methods, because the difference is related to each method's value on its own, a statistical artefact (Bland & Altman, 1986). This tool uses the mean.

What is proportional bias?

Proportional bias means the difference between methods changes with the size of the measurement, for example a heart rate sensor that reads accurately at rest but low during exercise. The tool tests it by regressing the differences on the means and reports the slope, its confidence interval and the p value.

Is my data uploaded anywhere?

No. The calculations run in your browser with JavaScript. Pasted or uploaded files are read locally and never sent to ChatPPG or anyone else, so you can use it with unpublished study data.

References

  1. Bland JM, Altman DG. Statistical methods for assessing agreement between two methods of clinical measurement. The Lancet. 1986;327(8476):307-310. doi:10.1016/S0140-6736(86)90837-8
  2. Bland JM, Altman DG. Measuring agreement in method comparison studies. Statistical Methods in Medical Research. 1999;8(2):135-160. doi:10.1177/096228029900800204
  3. Shrout PE, Fleiss JL. Intraclass correlations: uses in assessing rater reliability. Psychological Bulletin. 1979;86(2):420-428. doi:10.1037/0033-2909.86.2.420
  4. McGraw KO, Wong SP. Forming inferences about some intraclass correlation coefficients. Psychological Methods. 1996;1(1):30-46. doi:10.1037/1082-989X.1.1.30

Related

More free tools