~/expense-splitter ☕ Support me apps about me

๐ŸŒ Language

Expense Splitter โ€” split bills, settle with the fewest transfers

Split bills with friends, roommates & travel groups · free, no sign-up · Splitwise alternative
By Jasper Bernaers ยท Updated 2 October 2026 ยท data stays in your browser
Group Members
Add Expense
Add tip & tax
Recurring expense

Guide โ€” from the first receipt to "all settled up"

Five steps. Everything stays in your browser until you share a link.
1Make a group

One group per trip, flat or dinner club. Add everyone's name, and optionally an IBAN with ๐Ÿฆ, so others can pay them with a bank QR code later.

2Add what was paid

Description, amount, currency, date and who paid. Untick people who weren't part of it. Add tip and tax, a receipt photo, or make it recurring (rent, subscriptions).

3Split it fairly

Equal, exact amounts, percentages or shares. A live line shows what is still to assign and what each person pays, so the numbers always add up.

4Settle up

The Settlement tab shows the few transfers that square everything, with a bank โ–ฆ QR code for euro payments. Press โœ“ paid when money changes hands.

5Share or export

Send a link that adds the group to someone else's browser, copy the summary for a group chat, or download a PDF or CSV.

SPLIT METHODSWhich split for which bill

Pick per expense.

Equal
groceries, a taxi, the rental car
Exact
a restaurant bill where everyone had something else
Percent
rent by room size, 60 / 40
Shares
2 shares for a couple, 1 for a single, 0.5 for a child
BALANCESHow to read them

Per person, in the settlement currency.

Paid
what this person paid for the group
Share
their own part of all costs
+ balance
gets money back
โˆ’ balance
owes money
Payments
recorded transfers move balances to 0
SHORTCUTSFaster input

For long trips with many receipts.

Enter
add a member
โง‰
duplicate an expense for today
Ctrl/โŒ˜ Z
undo ยท Ctrl/โŒ˜ Y redo
Search
find an expense by name

Split bills with friends, without an app or an account

This expense splitter keeps track of who paid what in a group, such as a holiday with friends, a shared flat, a stag do or a weekly dinner club. It then works out who owes whom. Add the members, add each expense with the person who paid it, and choose how to split it. The Settlement tab shows the smallest set of transfers it can find that makes everyone square, with a bank QR code for euro transfers and a button to record each payment. It is a free alternative to apps like Splitwise and Tricount. There is no download, no account and no ads, and your data stays in your own browser.

How "who owes whom" is calculated

For every person the tool adds up what they paid for the group and what their own share of all costs was, converted to the settlement currency. Paid minus share is the balance: positive means they should get money back, negative means they owe. Recorded payments count as well, so a balance returns to zero once someone has paid. All balances together always add up to zero, to the cent.

Then come the transfers. With a group where n people still have a non-zero balance, at most n โˆ’ 1 transfers are ever needed. Finding the absolute minimum is a hard computing problem for large groups, so the tool uses two fast steps that are optimal in most real situations. First it pairs up anyone who owes exactly what someone else is owed, which settles two people with one transfer. Then it lets the person who owes the most pay the person who is owed the most, and repeats. Amounts are calculated in whole cents, so a rounding cent never leaves anyone with a 0.01 debt.

Split methods, tip and tax

Tip and tax are added on top of the amount (amount ร— (1 + tip) ร— (1 + tax)) and divided in the same proportion as the split. With exact amounts you type the amounts without tip and tax, and everyone's tip and tax follow their own part. When you edit an expense later, the split comes back exactly as you typed it.

Recurring costs

Rent, energy, internet and streaming subscriptions can be added once as a daily, weekly or monthly expense, with an optional end date. The tool counts how many times it has occurred from its start date until today (or the end date). The card shows "monthly ยท ร—4 so far", and the balances use the right total, so a shared flat can keep one group running for a whole year.

Several currencies

Each expense keeps the currency it was paid in. The settlement currency of the group, euro by default, is what balances and transfers are shown in. The built-in exchange rates are reference rates of 2 October 2026. Under Edit exchange rates you can load today's rates from the free Frankfurter service, or type the rate your bank or card actually used. A rate you set applies to every expense in that currency.

Paying each other: bank QR codes and "paid"

When the group settles in euro and the person who gets money back has an IBAN, each transfer gets a โ–ฆ QR button. It shows an EPC QR code, the standard of the European Payments Council for SEPA credit transfers, which many European banking apps can scan. Their name, IBAN, the amount and a message with the group name are filled in for you. IBANs are checked with the official mod-97 check digits, so a typo is caught before anyone pays the wrong account. After paying, press โœ“ paid: the payment is recorded, balances move, and the list of transfers gets shorter. A recorded payment can be undone from the Expenses tab.

Sharing with the group

Share link compresses the current group (members, expenses, payments and custom rates, without receipt photos) into the part of the link after the #, which browsers never send to a server. Opening the link adds that group next to your own groups. If you already have that group, it asks whether to update it or keep both. Your other groups are never overwritten. Receipt photos stay on the device where they were added. An IBAN you added travels with the link, so only share it with the group itself.

Your data

Everything is saved in your browser's local storage on this device: groups, members, expenses, payments and receipts. Receipt photos are reduced to at most 1,200 pixels so a long trip still fits; if the browser's storage ever fills up, you get a warning instead of silently losing data. Clearing your site data deletes everything, so for anything important, download the PDF or CSV now and then. The page uses no cookies and no tracking. The only outside requests are the libraries for PDF export and QR codes, and the exchange rates when you ask for them.

๐Ÿงพ Invoice GeneratorProfessional invoices as PDF ๐Ÿ’ฑ Currency ConverterLive rates, no login ๐Ÿฝ Tip CalculatorTip and split one bill fast ๏ผ… Percentage CalculatorEveryday percentage questions ๐Ÿงฐ All free tools โ†’Every app on jasperbernaers.com