⚖Coin Fairness Binomial Test

Exact two-sided p-value

You Might Also Need

How lopsided does a coin have to look before it is odd?

Sixty heads in 100 flips feels like a lot, yet a fair coin produces that gap often. Enter the number of flips n and the heads count k and this tool returns the exact binomial two-sided p-value under the null hypothesis p=0.5. It adds the probability of every outcome that is as likely as, or less likely than, the one observed, and it also prints the simplified 2 x min(lower tail, upper tail) value capped at 1 so the method is never hidden.

Binomial coefficients are accumulated in log space, so flips up to 2,000 are handled without overflow. The test assumes every flip is independent, conditions stay the same, and the coin never lands on edge. Counts are in flips and the p-value is shown to 6 decimals.

A p-value is not the probability of bias. It is the chance a fair coin lands this far from even, and failing to reject is not proof of fairness. Streak probabilities and chi-square goodness-of-fit tests are not covered. Browser random numbers are not cryptographically secure, so never use them for legally binding or money-related official draws or audits. Reference figures as of October 2026; a real judgement needs many more flips and expert review.

Frequently Asked Questions

Does a p-value below 0.05 prove the coin is biased?

No. The p-value is not the probability that the coin is biased. It is the chance a fair coin would land this far from even, or further. A small value only means the data sit poorly with the fair-coin assumption.

Can it give the chance of a streak of heads?

No. Streak probabilities and chi-square goodness-of-fit tests are not covered here. This page uses only the total flips and the head count for an exact binomial two-sided p-value.

Why do the two p-values match?

For a fair coin the distribution is symmetric, so summing outcomes as likely as or less likely than the observed one gives the same number as twice the smaller tail, capped at 1. Both rows are shown to make the method explicit.