Statistics and graphs for biology labs · free during the beta

Science is heavy enough already. Don’t carry doubt about your stats too.

58,166 results checked against R, with every difference explained.

Errorbar is statistics and graphing for the bench. Paste your data, get the right test with a plain-language answer, and make a figure a journal will take. Any result can be re-run in R by anyone who wants to check it.

  • Runs in your browser
  • Your data stays on your computer
  • Nothing to install
Plant growth, dry weight (g)one-way ANOVA · Tukey
Dot plot of plant dry weight in three groups Control mean 5.03 g, Treatment 1 mean 4.66 g, Treatment 2 mean 5.53 g, 10 plants each. Tukey test: Treatment 2 differs from Treatment 1, P = 0.012. 3 4 5 6 7 Dry weight (g) Control Treatment 1 Treatment 2 P = 0.012
Mean ± SD, n = 10 per group. The PlantGrowth data set (Dobson, 1983), drawn the way Errorbar draws it.
The Errorbar graph editor. A sidebar lists the experiment, its data table, a one-way ANOVA and a graph. The graph is a dot plot of three groups, Control, Treatment 1 and Treatment 2, with mean and SD bars and an asterisk bracket between the two treatments. A panel on the left offers dot, bar, box, violin, raincloud, estimation and QQ plots, error bar choices and journal sizing. The Errorbar graph editor in dark mode, showing the same dot plot of three groups with mean and SD bars and a significance bracket.
The graph editor in the current beta. Pick a plot type, choose what the error bars show, and size the figure in millimetres for the journal.

What it does

From the plate reader to the figure, with every step on the record.

  • Help choosing the test

    Describe your experiment in a few questions. Errorbar suggests the analysis, lays out the table, and the guides explain why.

  • Answers in plain language

    Each result opens with one sentence you can say at lab meeting, then the tables, effect sizes, assumption checks and a methods paragraph.

  • Figures a journal will take

    Dot, bar-with-dots, box, violin, raincloud and estimation plots, sized for the journal, in colour-blind-safe palettes. Build multi-panel figures in the figure composer.

  • Curve fits and assays

    Dose-response and 36 other curve models with EC50s and confidence bands. ELISA standard curves, qPCR and enzyme kinetics, and densitometry from Western blot images.

  • Replicates counted properly

    Cells from several mice? Nested and mixed models keep technical replicates from inflating your n, and SuperPlots show both levels.

  • Plan before you pipette

    Work out sample size and power, then randomise and blind your groups with a sealed key that checks itself when you unblind.

  • Re-run any result in R

    Export an R script from a result and run it yourself. The history records the data, settings and engine version behind every number.

  • Bring your files

    Paste from Excel, or open CSV, .pzfx, .rds and .RData files. A whole project saves as one file you can send to a labmate.

Also included: t tests, one-way, two-way and repeated-measures ANOVA, nonparametric tests, contingency tables, correlation and regression, Kaplan–Meier survival and competing risks, equivalence tests, numbers for LaTeX, and Python code cells.

An ordinary one-way ANOVA result. A green banner reads: P = 0.0159. The difference is statistically significant at alpha = 0.05. Below it are the ANOVA table, eta squared of 0.2641, a Brown-Forsythe test, Tukey comparisons with 95% confidence intervals and adjusted P values, and a banner saying the assumption checks passed. The same one-way ANOVA result in dark mode, leading with P = 0.0159 and followed by the ANOVA table, effect size, Tukey comparisons and assumption checks.
Results lead with the answer, then show the working: the ANOVA table, effect size, every Tukey comparison with its confidence interval, and the assumption checks.
A sigmoidal dose-response curve fitted through eight points, response from 0 to 100 percent against log agonist concentration from minus 9 to minus 5. The same dose-response curve in dark mode.
A four-parameter dose-response fit from the built-in example, ready to drop into a figure.

How we check the numbers

Every digit, accounted for.

A wrong P value prints with the same confidence as a right one, so accuracy has to be shown. We compared Errorbar’s results with R one value at a time, scored them against certified NIST answers and independent 60-digit calculations, and traced every difference to its cause.

  • 58,166results from 55 analyses checked against R, value by value, with every difference explained
  • 0 of 3,350core test problems where Errorbar was less accurate than R or SciPy
  • 25 of 25certified NIST nonlinear fits solved from both starting points
  • 84 of 108certified NIST datasets where Errorbar got more correct digits than R, and level on 19 more

Checked against exact answers, including deliberately hard data

For each core analysis, the fewest correct digits each program got across 10,248 results from 2,588 test problems, scored against answers computed to 60 digits. Further right is better.

Fewest correct digits per analysis against 60-digit answers, for Errorbar, R and SciPy One-sample t test: Errorbar 13.1, R 1.6, SciPy 1.2; Welch's ANOVA: Errorbar 13.6, R 3.3, SciPy 2.5; Two-way ANOVA: Errorbar 13.1, R 3.5, SciPy 2.8; Repeated-measures ANOVA: Errorbar 12.3, R 3.2, SciPy 4.1; Kruskal-Wallis test: Errorbar 11.1, R 2.6, SciPy 11.1; Unpaired t test: Errorbar 10.1, R 3.6, SciPy 2.7; Welch's t test: Errorbar 9.7, R 3.6, SciPy 2.8; One-way ANOVA: Errorbar 8.0, R 2.4, SciPy 2.4; 4PL dose-response fit: Errorbar 6.2, R 4.3, SciPy 1.4; Linear regression: Errorbar 9.8, R 8.7, SciPy 0.0; Chi-square test: Errorbar 11.9, R 11.9, SciPy 11.9; Pearson correlation: Errorbar 9.8, R 10.4, SciPy 9.8; Friedman test: Errorbar 12.6, R 14.4, SciPy 12.6; Paired t test: Errorbar 9.7, R 13.5, SciPy 9.7. 0 3 6 9 12 15 Fewest correct digits (15 = every digit right) One-sample t test Welch's ANOVA Two-way ANOVA Repeated-measures ANOVA Kruskal-Wallis test Unpaired t test Welch's t test One-way ANOVA 4PL dose-response fit Linear regression Chi-square test Pearson correlation Friedman test Paired t test Fewest correct digits per analysis against 60-digit answers, for Errorbar, R and SciPy One-sample t test: Errorbar 13.1, R 1.6, SciPy 1.2; Welch's ANOVA: Errorbar 13.6, R 3.3, SciPy 2.5; Two-way ANOVA: Errorbar 13.1, R 3.5, SciPy 2.8; Repeated-measures ANOVA: Errorbar 12.3, R 3.2, SciPy 4.1; Kruskal-Wallis test: Errorbar 11.1, R 2.6, SciPy 11.1; Unpaired t test: Errorbar 10.1, R 3.6, SciPy 2.7; Welch's t test: Errorbar 9.7, R 3.6, SciPy 2.8; One-way ANOVA: Errorbar 8.0, R 2.4, SciPy 2.4; 4PL dose-response fit: Errorbar 6.2, R 4.3, SciPy 1.4; Linear regression: Errorbar 9.8, R 8.7, SciPy 0.0; Chi-square test: Errorbar 11.9, R 11.9, SciPy 11.9; Pearson correlation: Errorbar 9.8, R 10.4, SciPy 9.8; Friedman test: Errorbar 12.6, R 14.4, SciPy 12.6; Paired t test: Errorbar 9.7, R 13.5, SciPy 9.7. 0 3 6 9 12 15 Fewest correct digits One-sample t test Welch's ANOVA Two-way ANOVA Repeated-measures ANOVA Kruskal-Wallis test Unpaired t test Welch's t test One-way ANOVA 4PL dose-response fit Linear regression Chi-square test Pearson correlation Friedman test Paired t test
Errorbar’s worst case beat R’s on 10 of the 14 analyses and matched it on the chi-square test. On paired t tests, Pearson correlation and the Friedman test R’s worst case was higher, and Errorbar still kept at least 9.6 correct digits. Six digits (dashed line) is already more than results are reported to. Results a program declined to compute are left out of its worst case.
Show the numbers
Fewest correct digits per analysis against 60-digit answers
AnalysisErrorbarRSciPy
One-sample t test13.11.61.2
Welch's ANOVA13.63.32.5
Two-way ANOVA13.13.52.8
Repeated-measures ANOVA12.33.24.1
Kruskal-Wallis test11.12.611.1
Unpaired t test10.13.62.7
Welch's t test9.73.62.8
One-way ANOVA8.02.42.4
4PL dose-response fit6.24.31.4
Linear regression9.88.70.0
Chi-square test11.911.911.9
Pearson correlation9.810.49.8
Friedman test12.614.412.6
Paired t test9.713.59.7

The tests labs use most, checked value by value against R

18,141 values from 23 analyses. Dark blue: the same answer as R. Light blue: a different answer, with Errorbar as close or closer to the exact answer. Yellow: the two programs use different textbook methods. Orange: Errorbar less accurate.

Horizontal bar chart, one bar per analysis, grouped into two groups, three or more groups, counts and P values, relationships, survival and dose-response. Most bars are entirely dark blue, meaning every value is the same as R to six or more digits. Light blue segments mark values that differ from R where Errorbar was as close or closer to the exact answer. Yellow segments, mainly on one-way ANOVA with Tukey, mark values where the two programs use different textbook methods. Multiple linear regression has a small orange segment: 11 values where Errorbar was less accurate. A column at the right counts those values: 0 for every analysis except the 11 in multiple regression. The table below gives every number.
Every value either gives the same answer as R or differs for a known reason. Where an exact answer could settle it, Errorbar was as close or closer in 688 values. In 379 the two programs use different textbook methods, nearly all of them Tukey P values, which R approximates (its documentation says to about four decimal places) and Errorbar computes to full precision. R came out ahead on 11 values, all rounding residue below 2.2 × 10⁻¹⁰ on two NIST problems whose true answer is 0.
Show the numbers as a table
The most-used analyses against R: why values differ
AnalysisValuesSame as RErrorbar as close or closer to the exact answerDifferent textbook methodErrorbar less accurate than R
Two groups
Unpaired t test9959098600
Welch's t test9909038700
Paired t test1,0001,000000
One-sample t test4003307000
Mann-Whitney test396396000
Wilcoxon signed-rank test402402000
Three or more groups
One-way ANOVA with Tukey3,5963,1091143730
Welch's ANOVA5915424900
Kruskal-Wallis test392384800
Two-way ANOVA96077218800
Repeated measures ANOVA6035416200
Friedman test400400000
ANOVA with 2 to 5 factors1,8341,8241000
Counts and P values
Chi-square and Fisher's exact516516000
Benjamini-Hochberg adjusted P409409000
Relationships
Pearson and Spearman correlation724724000
Simple linear regression906906000
Multiple linear regression8558353611
Logistic regression294294000
Poisson regression309309000
Survival
Kaplan-Meier and log-rank859859000
Cox regression560560000
Dose-response
Four-parameter logistic fit1501391100
All 23 analyses18,14117,06368837911

Certified NIST reference data: every dataset we ran

108 dataset and analysis pairs from the NIST Statistical Reference Datasets. Each point shows the fewest correct digits each program got on that dataset.

Scatter plot with R’s fewest correct digits on the horizontal axis and Errorbar’s on the vertical axis, both from 0 to 15, with a diagonal line where the two are equal. Almost every point is on or above the diagonal. Many nonlinear regression points sit at zero for R, where R returned no answer, while Errorbar has 3 to 11 correct digits. The counts printed beside the plot: Errorbar ahead on 84, level on 19, R ahead on 5.
Errorbar had more correct digits than R on 84 datasets and the same, within 0.05 digits, on 19. R was ahead on 5 multiple-regression datasets, by 0.07 to 0.67 digits. A program that returned no answer is placed at zero.

R and SciPy ran with their default settings, as most people run them. Benchmarks of Errorbar as of 26 October 2026, run in the browser as users run it, against R 4.3.3, SciPy 1.14.1, NIST certified values and 60-digit calculations. Accuracy is not appropriateness: these results show that Errorbar computes the chosen test correctly, not that the test suits the experiment.

Made for the whole lab

Private by default. Usable by everyone.

Your data stays on your computer

The statistics run inside your browser. Projects are kept in the browser and in files you save, so unpublished data never sits on our servers.

Built to WCAG 2.2 AA guidelines

Every screen works from the keyboard and is labelled for screen readers. Palettes stay distinct for colour-blind readers, and the glass effects step aside when you ask for less transparency.

Works where your lab works

Use a current Chrome, Edge, Firefox or Safari on Windows, Mac or Linux. The first visit downloads the statistics engine, about 65 MB.

Pricing

A price a lab can carry.

Errorbar is free during the beta. These prices start when paid plans launch.

Lab For the whole lab

$1,000a year for up to 10 people

  • $100 a year for each extra person
  • Everything in Errorbar for every member
  • Groups over 25 people move to department pricing

Student

$24.99the first year, then $49.99 a year

  • One student
  • Verified by a university email address

Free trial

14 daysfree, with no card needed

  • Everything in Errorbar
  • Becomes the free Viewer when it ends

Viewer

Freefor as long as you need it

  • Opens, displays and exports every project
  • When a trial or licence ends, nothing is deleted or locked away

Prices for individual academics and for industry will be published before paid plans launch. Prices in US dollars.

Questions

Before you bring your data.

Do you upload my data?

No. Errorbar’s statistics engine runs inside your browser, so your data is analysed on your own computer. Projects are kept in your browser and in the project files you choose to save.

Can I open the files I already have?

Yes. Paste straight from Excel, or open CSV, .pzfx, .rds and .RData files. Western blot and microscope images open as TIFF, PNG or JPEG.

How do I know the results are right?

Every analysis is tested against R and certified reference values. The accuracy report publishes the results, including where Errorbar falls short. You can also export an R script from any result and run it yourself.

What happens when my trial ends?

Errorbar becomes the free Viewer. You can still open, read and export every project. Nothing is deleted or locked.

Can my whole lab use one plan?

Yes. The Lab plan covers up to 10 people for $1,000 a year, and each extra person is $100 a year. Groups over 25 people move to department pricing.

Do I need to install anything?

No. Errorbar runs in a current browser. Open it, and the statistics engine loads on the first visit.

Try it on your own data today.