Expense Splitter
Split bills fairly among friends
Best for: Group dinners, shared trips, roommate bills, or any situation where multiple people paid different amounts for shared costs.
🎥 How It Works
How to use the Expense Splitter
Sharing a flat, a trip, or a weekend dinner with friends? The expense splitter takes everyone’s expenses and computes who owes whom, using the minimum number of transfers. No more group-chat spreadsheets.
Step by step
- Add everyone by name, one row per person.
- Under each person, enter what they paid for (restaurant, hotel, cab, groceries) and the amount.
- Optionally mark an expense as a partial split (e.g., two roommates paying for a third who wasn’t there).
- Press Calculate. The result shows every person’s net balance and a settlement plan.
The tool uses a classic greedy algorithm: it matches the largest creditor with the largest debtor, records the transfer, and repeats. This keeps the number of payments as small as possible — important when everyone hates writing multiple Venmo notes.
Why it’s important
Without a splitter, groups fall into two traps: someone forgets a receipt and silently loses money, or the group logs every expense in a chaotic chat and nobody reconciles it. A deterministic settlement is fair to everyone and avoids awkward arguments weeks later.
Worked examples
Share the result link with the group so everyone sees the same numbers.
Real-life scenario: trip groups and unequal-rent roommates
Six college friends take a three-day weekend trip. Priya books the Airbnb for $720, Alex pays $180 for gas both ways, Maya covers $240 of groceries, and the rest chip in for restaurants ad-hoc. By Sunday night nobody remembers who owes what. Plug the numbers into the expense splitter and it produces a three-line settlement — “Alex → Priya $60, Jordan → Priya $60, Sam → Maya $30” — and the group chat stays civil.
The tool shines for uneven household bills too. Three roommates where one occupies the master bedroom and two share a smaller room can use custom weights (say 50/25/25) so the monthly split is mathematically defensible instead of endlessly renegotiated over utility cycles.
How the math works: fair-split and minimum-cash-flow algorithms
Splitting a group bill has two stages. First, compute each person’s net:
neti = paidi − sharei
where paidi is what person i already laid out and sharei is what they owe (equal share = total ÷ number of people, or weighted share if roles differ). A positive net means the group owes them; a negative net means they owe the group.
Second, settle the debts with the fewest transfers — the classic minimum-cash-flow problem. A simple greedy algorithm works well for groups up to about 12 people: repeatedly take the most-negative debtor and the most-positive creditor and transfer the smaller of their absolute balances. Repeat until all balances are zero. This produces at most n − 1 transfers for n people, and usually far fewer when only a handful of people paid.
Worked example. Four friends on a $400 dinner. Priya paid $250, Alex paid $150, Maya and Sam paid $0. Equal share is $100 each. Nets are Priya +$150, Alex +$50, Maya −$100, Sam −$100. The algorithm produces two transfers: Maya → Priya $100 and Sam → Alex $50, Sam → Priya $50 — three lines, everyone square. A naive “everyone pays everyone” approach on the same group produces up to 12 transfers for exactly the same cash flow.
Frequently asked questions
Can I split unevenly — for example, one person in a bigger bedroom?
Yes. Enter custom weights that sum to 100 (e.g., 50/25/25 for three roommates where one has the master bedroom). The calculator scales each person’s share by their weight instead of dividing equally, so the math is defensible even when the split is not equal.
What if someone paid for an expense that only some of the group used?
For itemized expenses, add each item separately with only the relevant people tagged. The calculator treats each item independently: the gas bill paid by Alex is split among the people who were in the car, while a group dinner is split among everyone who ate.
Does it support multiple currencies?
Within a single trip, keep all entries in one currency and convert manually using the currency-converter tool before entering. Mixing currencies inside one split creates rounding ambiguity that complicates the settlement.
Can I export or share the settlement?
Yes — use the share toolbar below the inputs to copy a link that preserves your entries, download the results as a PDF or image to paste into a group chat, or send the link directly. The URL encodes the state so your group sees the same numbers when they open it.