What is Spliit?
Spliit is a free and open source web application for tracking and sharing expenses inside a group of friends, family members or travel companions. The repository describes it as an alternative to Splitwise. A group is created for a trip, an event, a gift or a shared household, participants are added by name, and every expense records who paid and how the amount is divided. Spliit then shows each participant's balance and a list of reimbursements that settle the group. The project is built by Sebastien Castiel and contributors, and the footer of spliit.app states that it is made in Montréal, Québec. The source code is published under the MIT license.
There are two ways to use it. The official instance at spliit.app is free, carries no advertising and has no sign-up. Anyone can also run a separate instance from the GitHub repository. Spliit has no user accounts: according to the privacy policy, no name, email address or password is requested, a group is reachable only through its link, and anyone holding that link can read and change the group. The list of groups a person has opened is stored in the browser or on the device, not on the server.
The web application is written in TypeScript with Next.js, styled with Tailwind CSS and shadcn/UI, and stores its data in PostgreSQL through Prisma. A container image is published as ghcr.io/spliit-app/spliit, the README includes a Docker Compose file that pairs it with PostgreSQL 17.3, and a Vercel deploy button creates a hosted copy with a Postgres store. Optional features (expense documents on S3, receipt scanning, category suggestions, group deletion and analytics) are disabled by default and are switched on with environment variables read at runtime.
The latest release is Spliit 1.30.0, published on October 11, 2026. It lets users schedule a group for deletion with a 30-day restore period, extends expense search to notes as well as titles, keeps the documents of earlier occurrences when a recurring expense repeats and saves a newly created group to Recent groups immediately. Release 1.23.0 from August 2026 added a global balance, expanded group statistics with date ranges, a PWA service worker with offline assets, settling up in a currency other than the group's and a configurable OpenAI endpoint. Release 1.25.0 added monthly category spending charts and 1.27.0 added an Umami analytics provider.
A native iPhone app, Spliit for iOS, was rewritten in SwiftUI for version 2.0. It requires iOS 26 or later, reads receipts on the device and keeps the group list in iCloud; its source is a separate MIT-licensed repository. The public instance is funded by donations through Open Collective and GitHub Sponsors. The project FAQ states that Spliit can be used for free without limitation and that essential features will never be put behind a paywall, while premium features may be added in the future. Similar self-hosted finance tools on iThub include Actual Budget and Firefly III, which focus on personal budgeting rather than group expense splitting.
Spliit screenshots
Explore the interface. Open a screenshot to view it at full size.

Official image of the web app expenses list; the group and participant names are sample data.

Official image of the beta receipt scan dialog on the web; values come from a sample receipt.

Official iOS screenshot of a group expense list with Expenses, Balances, Totals and Information tabs; sample data.

Official iOS screenshot of the expense form split by amount, with currency, category and reimbursement toggle; sample data.

Official iOS screenshot of balances and suggested payments with a Mark as paid action; sample data.
Source: official Spliit project page.
Key capabilities
- Groups for trips, events and households A group has a name, an optional description, a currency and a list of participants entered as plain names. Groups can be marked as favorites, archived and opened from a Recent groups list kept in the browser. When opening a group, a user can tell the application which participant they are, so balances can be shown from that person's point of view.
- Expenses with payer, date and notes Each expense stores a title, amount, date, category, the participant who paid, the participants it was paid for and optional notes. Expenses are listed by period, such as this week, earlier this month and last month. Since release 1.30.0, the search field matches notes as well as titles.
- Even and uneven splits An expense can be split evenly, by shares, by percentage or by exact amounts. When splitting by amount, the form shows the remainder and the difference against the total, and a preview shows the even split the expense will be saved with. All or no participants can be selected in one action.
- Balances and suggested reimbursements The Balances tab shows how much each participant is up or down after all expenses are counted. Spliit computes a reduced set of transfers that settles the group, described on the homepage as optimizing money transfers between participants. A suggested payment can be recorded as a reimbursement expense, which is a separate expense type in the form.
- Categories and category suggestions Expenses can be assigned to categories such as Food and Drink or Hotel, each shown with an icon. An optional feature suggests the category from the expense title by sending the title to an OpenAI model; it is enabled with
ENABLE_CATEGORY_EXTRACTand an API key. The model defaults togpt-5-nanoand can be changed with a separate variable. - Receipt and document attachments Images can be uploaded and attached to an expense when the instance enables expense documents. Files are stored in an AWS S3 bucket or another S3-compatible service set through a custom endpoint. The README lists the required
S3_UPLOAD_*variables and thes3:DeleteObjectpermission needed when group deletion is also enabled. - Expense creation from a receipt photo On the web, the receipt scan feature sends the photo to a vision-capable OpenAI model, which returns a title, category, amount and date that can be edited before saving. It requires expense documents to be enabled and an OpenAI API key; the homepage marks it as beta. The privacy policy of spliit.app states that the picture is sent to OpenAI only when this feature is used.
- OpenAI-compatible providers Both AI features can point at a self-hosted or alternative provider through
OPENAI_BASE_URL, with separate model names for receipts and categories. The provider has to support thejson_schemastructured output format, and receipt scanning also needs image input. If the response does not match the schema, the app reports that nothing could be extracted. - Multiple currencies Each group has a default currency, and individual expenses can be recorded in another currency with an exchange rate. The web app fetches rates for the expense date from the Frankfurter API. Release 1.23.0 added settling up in a currency other than the group's, and the default currency of new groups is set with
DEFAULT_CURRENCY_CODE. - Recurring expenses The homepage lists recurring expenses as a beta feature with daily, weekly and monthly schedules. A group statistic shows the estimated monthly cost of active recurring expenses. Release 1.30.0 keeps the documents attached to earlier occurrences when an expense repeats.
- Statistics and activity A statistics view shows group totals, category breakdowns and monthly category spending charts, with date ranges and drill-downs into expenses. An Activity tab records changes to the group and is stored in the instance database. The README states that this activity log is a product feature and is separate from analytics.
- CSV and JSON export Expenses of a group can be exported as CSV or JSON from the expenses page. Since release 1.21.0 the JSON export includes notes and history. Exporting is one of the events reported when analytics are enabled on an instance.
- Progressive Web App and translations The web app is installable as a Progressive Web App, and release 1.23.0 added a service worker with offline assets and an update prompt. Translations are managed on Weblate, and the repository contains message files for several dozen locales, including Arabic, German, Japanese, Portuguese and Ukrainian.
- Spliit for iOS The iPhone app is a SwiftUI rewrite that uses the same groups as the web app and requires iOS 26 or later. It reads receipts with on-device text recognition and a local model, stores the group list in iCloud, joins groups by QR code and supports Siri and Spotlight. It can connect to spliit.app and to a self-hosted instance in the same list.
- Self-hosting with Docker The published image
ghcr.io/spliit-app/spliitruns with PostgreSQL; the README sample maps port 3000 to 8080 and stores data in bind-mounted directories. Configuration such asBASE_URLand feature flags is read at runtime, so the prebuilt image does not need rebuilding. Running from source requires Node.js,npm installand a PostgreSQL server. - Health checks and group deletion The endpoints
/api/health/readinessand/api/health/livenessreport application and database status. Optional group deletion schedules a group for removal with a 30-day restore window; a scheduled call to/api/cron/purge-deleted-groupswith aCRON_SECRETthen deletes expired groups and their documents. On Vercel the bundled configuration schedules that call daily. - Opt-in analytics Analytics are disabled by default. An instance can report anonymous events to Plausible, Umami or the browser console, and several providers can be combined. Group and expense IDs are stripped from reported paths, since the README treats them as the capability to read a group.
Where Spliit fits
Splitting costs on a trip
A group is created for the trip with the currency used most often, and the link is shared with the other travelers. Each person opens the link in a browser, selects their own name and adds expenses as they happen, with the payer, the participants and the category. Expenses paid in another currency are recorded with an exchange rate for that date. At the end, the Balances tab lists who is owed money and the suggested transfers, which are recorded as reimbursement expenses once paid.
Tracking shared household costs
Roommates or family members keep one long-running group for rent, groceries and utilities. Regular costs can be entered as recurring expenses on a daily, weekly or monthly schedule, a beta feature on the homepage. Uneven splits by shares, percentage or exact amount cover cases where people pay different portions. The statistics view shows totals per category and per month, and the Activity tab shows who changed what.
Capturing receipts
On instances with expense documents enabled, receipt photos are attached to expenses and stored in S3-compatible storage. With receipt extraction enabled, a photo can prefill the title, amount, date and category through an OpenAI or compatible vision model, and the values remain editable before saving. In the iOS app, the receipt is read on the phone; the iOS rewrite announcement states that the photo is not sent anywhere to be read.
Running a private instance
An organization, family or individual runs Spliit with the published container image and a PostgreSQL database, following the Docker Compose sample in the README. BASE_URL sets the public address, and optional features are enabled one by one with environment variables. The privacy policy states that groups on a self-hosted instance stay on that server and nothing about them reaches spliit.app. The blog post on accounts mentions placing an instance behind a reverse proxy with OIDC when a login screen is needed.
Using the official instance without accounts
On spliit.app, a group is created from the homepage without registration and shared by link. The link is the only access control: there is no directory or search across groups. Data is stored in PostgreSQL hosted by Vercel, according to the FAQ. Deleting a group from the server can be requested by email to the address in the privacy policy, and expenses can be deleted inside the group at any time.
Exporting expense data
A group's expenses can be downloaded as CSV for spreadsheets or as JSON, which includes notes and history since release 1.21.0. Exports are available from the expenses page of every group, on the official instance and on self-hosted ones. The 1.30.0 release notes and earlier releases on GitHub list the changes to these and other features.
Reviews of Spliit
Be the first to share your experience with Spliit.
Write a review
Loading review form…

