Split Bill Calculator

Free split bill calculator: log who paid for what and instantly see who owes whom, settled in the fewest transfers. Split equally, by shares or by exact amounts for dinners, trips and shared rent. Share a link with your group. No sign-up, nothing uploaded.

  • Who owes whom, instantly
  • Fewest transfers
  • Equal, shares or exact amounts
  • Share a link with the group

People

    Start by adding the people splitting the bill.

    Expenses

    Split
    Who shares it

        No expenses yet.

        Settle up

        PersonPaidOwedBalance

        A positive balance means they get money back; a negative one means they need to pay.

          Your bill is saved automatically in this browser and never uploaded. A share link puts the whole bill (names and amounts) in the URL, so anyone with the link can see it.

          🔒 Everything is calculated in your browser. No data is sent to any server.

          When to use it

          • Group dinner: one person puts the whole bill on their card, someone skipped the drinks and someone ate double. Use “By shares” or untick people to get each person's fair share without a phone calculator at the table.
          • Trip expense splitter: on a weekend away everyone takes turns paying for the cabin, gas and activities. Log who paid each time, then check “Settle up” before heading home to see the fewest transfers that clear everything.
          • Roommates and shared rent: rent, utilities and internet are paid by different people each month. Weight rent by room size (e.g. 1.5 for the big room, 1 for the small one) and settle once at the end of the month.
          • Group orders: one person pays for a bulk order and everyone bought different amounts. Use “Exact amounts” to enter each person's total, and the tool checks that they add up to the bill.

          How to use

          1. Under “People”, type everyone's names and click “Add”. Separate several names with commas to add them at once.
          2. For each expense, enter what it was, the amount and who paid, choose how to split it (“Split equally”, “By shares” or “Exact amounts”) and who shares it, then click “Add expense”.
          3. “Settle up” updates instantly with what each person paid, owes and their balance, plus who should pay whom.
          4. Click “Copy summary” to paste the result into your group chat, or “Copy share link” so everyone can open the same bill.

          Worked example

          “Lake weekend” with 4 friends, with amounts kept to 2 decimal places: Alex pays 640.00 for the cabin, Ben pays 412.45 for the car rental and gas, Chris pays 210.00 for dinner (Dana counts as 2 shares, everyone else 1), and Dana pays 100.00 for kayak rental (Ben sat it out, so 3 people split it). Total spending: 1,362.45.

          Each split: the cabin is 160.00 each. The car is 412.45 ÷ 4 = 103.1125, so everyone first gets 103.11 and the leftover 0.01 goes to Alex, first on the list (103.12). Dinner has 5 shares at 42.00, so Dana owes 84.00. Kayaks are 100.00 ÷ 3: Alex 33.34, Chris and Dana 33.33.

          Result: Alex owes 338.46, Ben 305.11, Chris 338.44 and Dana 380.44. Balances: Alex +301.54, Ben +107.34, Chris −128.44, Dana −280.44, which add up to exactly 0. Suggested transfers (3): Dana → Alex 280.44, Chris → Ben 107.34, Chris → Alex 21.10.

          Reading the results

          • Balance = paid − owed. A positive balance means the person fronted money and should get paid back; a negative balance means they still need to pay. All balances always add up to 0, which is a handy sanity check.
          • The suggested transfers are just the easiest way to pay back. After them everyone's balance is zero, and what each person actually spent is the “Owed” column, no matter who pays whom.
          • With 4 people you need at most 3 transfers (people − 1). If someone is already even, or a few balances cancel out exactly, you need fewer.
          • Every amount in the table and transfer list is already rounded to your “Round amounts to” setting (to 1 for whole numbers, to 0.01 for 2 decimal places), so you can send exactly what's shown.

          How it works

          • Amounts are converted to whole numbers of the smallest unit (1 for whole numbers, 0.01 for 2 decimal places) before any math, so floating-point errors like 0.1 + 0.2 ≠ 0.3 can't creep in.
          • Each expense is split with the largest remainder method. Equal split gives everyone a weight of 1, “By shares” uses the shares, and “Exact amounts” uses the amounts you typed. Everyone's share is first rounded down, then the leftover units are handed out one at a time to whoever lost the most in rounding; ties go to whoever is higher on the member list. Every expense splits back to exactly its total, so total owed always equals total paid.
          • Settling up finds the fewest transfers: it looks for small groups whose balances cancel out exactly (sum to zero). Each group can settle internally in “group size − 1” transfers, so more groups means fewer transfers. Within a group, the person who owes the most pays the person owed the most. With up to 18 people who have a balance the result is guaranteed minimal; beyond that a fast matching is used (at most people − 1 transfers).
          • Round amounts to: there's no currency to pick, just “Whole numbers” or “2 decimal places”. It defaults to 2 decimal places for prices like 12.50; switch to whole numbers if you only deal in round amounts. Amounts are shown as plain numbers with thousands separators and no currency symbol.

          Limitations

          • For example, with balances of +6, +4, −4, −3 and −3 (in hundreds), −4 and +4 cancel out as one group and the other three form another, so 3 transfers are enough; simply matching the largest amounts would give 4. With more than 18 people who have a balance, only “at most people − 1 transfers” is guaranteed, not the minimum.
          • Amounts have no currency and nothing is converted. If people paid in different currencies (say, at home and abroad on the same trip), convert everything to one currency before logging it.
          • Leftover units always go to people higher on the member list, so a share can differ by at most one smallest unit (0.01 or 1) per expense. If that matters, use “Exact amounts” to decide who pays the extra.
          • A share link contains the whole bill (names and amounts), so anyone with the link can see it. Changes your friends make don't sync back; they need to share a new link. Very long bills may make the link too long; use “Copy summary” instead.

          FAQ

          How does it work out who owes whom?

          It first calculates each person's balance (paid − owed), then finds small groups whose balances cancel out and settles each group internally, which gives the fewest transfers — never more than n − 1 for n people.

          What happens to amounts that don't divide evenly?

          Each share is rounded down to 0.01 (or to 1 if “Round amounts to” is set to whole numbers), and the leftover goes to whoever lost the most in rounding, with ties going to people higher on the member list. Every expense always adds back up to its exact total.

          Do I need an account? Is my data uploaded?

          No account needed. Everything is calculated in your browser and the bill is stored only in this browser on this device. A share link keeps its content after the # in the URL, which is never sent to a server.

          What if someone skipped one of the expenses?

          When logging that expense, untick them under “Who shares it”. They won't pay for that one, and every other expense still counts as usual.

          Can someone who ate more pay a bigger share?

          Yes. Choose “By shares” and enter 2 for someone who had two portions and 1 for everyone else. Decimals like 0.5 work too. To set each person's amount directly, choose “Exact amounts”.

          Can friends edit the bill after I share it in our group chat?

          Opening the link loads the same bill into their own browser, and they can keep editing it, but changes don't sync back to you. Whoever makes changes should click “Copy share link” again and post the new link.

          Can I remove someone who's already in an expense?

          Not directly. If they paid for or shared any expense, removing them would change those amounts, so you'll be asked to edit or delete those expenses first. To fix a typo, just edit the name field.

          References