← Back

Bill Split Calculator

Split group meal/travel bills into the simplest set of transfers

People splitting the bill
Result
Total spent: 200.00
Fair share per person: 66.67
CaseyAlex66.67
BlakeAlex16.67

About Bill Split Calculator

The Bill Split Calculator is for situations such as group dinners, trips and shared housing, where one person pays up front and everyone settles up afterwards. Enter how much each person actually paid, and it works out the total, each person's fair share, and a settlement plan with as few transfers as it can manage, showing who should pay whom and how much. It only does equal splits. It cannot weight by person, assign individual items, or keep a record of past bills.

How to use it

  1. The page starts with three people (Alex, Blake and Casey). Rename them, and in the amount box on the right enter how much that person actually paid. Enter 0 for anyone who paid nothing.
  2. Need more people? Click "Add a person". The new member is named "Member N" and starts at 0.
  3. To remove someone, click the trash icon at the end of their row. With only two people left the button is greyed out and cannot be used.
  4. Read the "Result" section: "Total spent" is the sum of everything paid, and "Fair share per person" is that total divided by the number of people.
  5. The list below shows each transfer as payer, arrow, receiver and amount. If everyone already paid the same, it says no transfers are needed.

Worked example

These results come from running the same settlement algorithm the tool uses. Three people: Alex paid 150, Blake paid 50, Casey paid nothing. The total is 200 and the fair share is 66.67. Alex is 83.33 over, Blake is 16.67 under, and Casey is 66.67 under. The tool gives two transfers: Casey pays Alex 66.67, and Blake pays Alex 16.67. With four people, A paid 90, B paid 30 and C and D paid 0, the total is 120 and the share is 30. The plan is C pays A 30.00 and D pays A 30.00. B paid exactly the fair share and is not involved in any transfer.

How the transfer plan is worked out

First each person's balance is calculated as what they paid minus the fair share. Positive balances are owed money; negative balances owe money. The tool then repeatedly takes the person who owes the most and the person who is owed the most, and has the first pay the second the smaller of their two amounts. That settles at least one of them each time. It repeats until every balance is effectively zero. Each person ends up only paying or only receiving, never both, which usually keeps the number of transfers small.

Supported features and known limits

  • Equal splits only. If some people ate more or skipped part of the trip, split the costs into separate groups and calculate each one on its own.
  • The amount field has min=0 set, and the code also treats a negative value as 0, so negative amounts such as refunds cannot be entered.
  • An empty or unreadable amount is treated as 0.
  • Results are labelled in yuan in the Chinese interface; the English interface shows plain numbers with no currency. The arithmetic does not depend on the currency.
  • A balance smaller than 0.01 counts as settled. Amounts are floating-point numbers shown to two decimals, so a few transfers may differ from the total by a cent or two.
  • At least two people must remain. Duplicate names are allowed, but then the result list cannot tell them apart, so use distinct names.
  • Nothing is saved. Refreshing the page restores the default sample people and amounts.

Do I enter what each person owes or what they paid?

What they actually paid out of pocket. Enter 0 for people who did not pay anything, and the tool works out how much they need to contribute.

Is the plan guaranteed to use the fewest possible transfers?

Each step settles at least one person, so the number of transfers never exceeds the number of people with a non-zero balance minus one, which is compact for ordinary cases. It is a greedy method, though, and the code only aims for few transfers. It does not prove an absolute minimum, so unusual, complicated bills might have a shorter solution.

What if some people only joined part of the activities?

The tool cannot handle that directly, since it always divides by the number of people listed. Split the expenses into separate calculations: one for what everyone shared, and another for the part only some people joined, then follow each plan.

Why are some people missing from the results?

Their balance is under 0.01, meaning they paid exactly their fair share, so no transfer is needed.

Privacy and how your data is handled

All calculations run in your browser. The names and amounts you type are not sent to a server and are not stored. Because refreshing clears everything, take a screenshot or copy the results if you want a record.