The Expense Splitter is a web-based application designed to help users easily split expenses among a group of people. This tool simplifies expense management by allowing users to enter expenses, select different split methods, and calculate balances and settlements efficiently.
- User-Friendly Interface: Leveraging Bootstrap for a clean, responsive design.
- Multiple Split Types:
- Equal sharing among all participants.
- Unequal distribution by specific amounts.
- Division by shares or percentages.
- Real-Time Calculations:
- Track remaining amounts or percentages while entering details.
- Instantly displays the balance for each participant.
- Settlement Details:
- Automatically calculates and displays who owes whom and how much, simplifying the payment settlement process.
- Input Participant Names:
- Enter the names of participants in a comma-separated format in the Names field.
- Add an Expense:
- Provide the description, select the payer, and enter the total amount.
- Choose a split type from the following options:
- Equally: Distribute the amount evenly.
- Unequally (by Amount): Enter specific amounts for each participant.
- By Shares: Allocate shares that will determine each person's portion.
- By Percentages: Define a percentage for each participant.
- Calculate Balances:
- Click the Calculate Balances button to see the updated balances for each participant.
- View Settlements:
- Review the Settlement Details section to know who needs to pay whom and how much.
- Download or Clone this repository to your local system.
- Open the
index.html
file in your preferred web browser.
expense-splitter/
├── READ.md
├── index.html
├── css/
│ └── styles.css
├── js/
│ ├── ui.js
│ ├── logic.js
│ ├── export.js
│ └── darkMode.js
└── assets/
└── icons/
├── edit.png
└── delete.png
- HTML for structure, with Bootstrap for a responsive and polished design.
- JavaScript handles dynamic interactions, such as updating the payer options, real-time calculation of amounts and percentages, and generating the settlement details.
updatePayerOptions()
: Updates the list of payers based on entered names.showSplitDetails()
: Displays appropriate input fields for the selected split type.addExpense()
: Adds an expense to the table and updates the list of expenses.calculateBalances()
: Calculates and displays the balances for each participant and generates settlement details to show who needs to pay whom.
Imagine a trip where three friends, Alice, Bob, and Charlie, share various expenses (e.g., meals, transport, accommodation). Using this tool, they can:
- Input expenses and specify the payer for each expense.
- Choose how to split each expense (e.g., equally, by shares).
- View the balance summary and determine who owes whom.


- HTML5 and CSS3 for structure and styling.
- Bootstrap 4 for a responsive and modern UI.
- JavaScript and jQuery for client-side logic and interactivity.
This project is licensed under the MIT License. Feel free to use and modify it as per your requirements.
For further questions or feedback, please contact [email protected].
Enjoy using the Expense Splitter to simplify your expense management and ensure fair sharing among participants!