Skip to content
100% local

Bill splitter

Work out who owes who from a shared list of expenses, with as few transfers as possible.

Input
Output

Bill splitter

Paste a list of expenses — who paid, how much, and who it was for — and this tool works out exactly who owes who, settling the whole group with as few transfers as possible. It's built for trip expenses, shared households, group dinners or any situation where several people paid for things and the bill needs untangling at the end.

Each line follows "payer; amount; beneficiaries": Alice paid 30 for Alice, Bob and Carol becomes "Alice; 30; Alice, Bob, Carol". Leave the beneficiaries out, or use "*", to split among everyone in the list, and add "-Name" after the "*" to exclude one person from a single expense — handy for a round that one person skipped. Switch from an equal split to shares to weight a cost unevenly (Bob:1, Carol:3 gives Carol three times Bob's share), set a currency label, choose how many decimals to round to, and add a tip or service fee as a percentage on top of every expense.

By default the result minimizes the number of transfers needed to settle up — often turning a tangle of individual debts into one or two payments — and shows each participant's balance before settlement so everyone can see how the total was reached. Turn minimizing off to see the direct, expense-by-expense debts between people instead. Invalid lines are reported with their line number so a typo never silently breaks the split.

Everything runs locally in your browser: the list of names and amounts is never uploaded anywhere. Copy the result, download it as a .txt file to share with the group, or send the output back into the input to adjust an expense and recalculate.

FAQ

What format does the expense list use?
One expense per line: "payer; amount; beneficiaries". Beneficiaries are comma-separated names, or "*" for everyone, or "*, -Name" to exclude one person from that expense.
How do I split a cost unevenly?
Switch the split to "By shares" and add a weight to a name, like "Bob:1, Carol:3" — Carol's share of that expense will be three times Bob's.
Why are there fewer transfers than expenses?
With minimizing on, the tool nets everyone's balance first and settles the group with the smallest possible number of payments, instead of paying back every expense individually.
Can I add a tip or service charge?
Yes. Set "Tip or fee (%)" and it is applied on top of every expense before the split, so it is shared the same way as the rest of the bill.
Is my expense list uploaded anywhere?
No. The whole calculation runs in your browser — the names and amounts you enter never leave your device.