πŸ’³ Expense Tracker

Log spending by category and payment method, watch the monthly total, and export the lot as CSV.

Currency:

All Time

Highest

Filtered Total

Category Breakdown

Quick:
πŸ’Έ

No expenses yet!

Add your first expense using the form.

No matches found.

Try adjusting your filters.

of expenses

πŸ”’ All data is stored locally in your browser using localStorage β€” nothing is sent to any server.

What the tracker stores and how totals are derived

Every expense is saved as a record with six fields: name, amount, category, date, payment method and optional notes. The first five are required, which keeps the data consistent enough for the summaries to mean something. Records are kept as a list in your browser's local storage, along with your chosen currency symbol, so the ledger is restored when you return to the page.

All figures are simple sums over that list rather than anything more elaborate. The all-time total adds every record's amount. The current month total adds only records whose date falls in the present calendar month, which is why a backdated entry immediately changes that card. The category breakdown groups records by their category and sums each group.

Filters operate on the same list before the sums are taken. Selecting a category, selecting a payment method and typing a search term narrow the visible records, and the filtered total reflects exactly what is shown while the highest figure reports the single largest amount within that subset. This is what makes the filters useful for answering a specific question, such as how much went on card payments for travel, rather than just tidying the display.

A week of spending, filtered two ways

Enter six expenses for a single week: a weekly grocery shop of 82.40 on a debit card, a rail ticket of 18.60 in cash, a streaming subscription of 10.99 on a credit card, a restaurant meal of 47.50 on a credit card, a pharmacy visit of 12.25 in cash, and a taxi of 21.00 on a debit card.

The all-time total adds all six: 82.40 plus 18.60 plus 10.99 plus 47.50 plus 12.25 plus 21.00 gives 192.74 across 6 expenses. The category breakdown puts food and dining at 82.40 plus 47.50, or 129.90, transportation at 18.60 plus 21.00, or 39.60, entertainment at 10.99, and health and medical at 12.25. Food is therefore 67 per cent of the week, calculated as 129.90 divided by 192.74.

Now filter by payment method. Choosing credit card leaves the subscription and the restaurant meal, a filtered total of 58.49 with the highest single item at 47.50. Switching to cash leaves the rail ticket and the pharmacy, totalling 30.85 with a highest item of 18.60. Two clicks have told you that almost a third of the week's spending sat on one card.

Getting useful answers out of your ledger

The value of a tracker comes from consistency, not from precision. Log entries the same day, because reconstructing a week from memory misses small cash items. Pick one category for each recurring purchase and stay with it: splitting a weekly shop between food and home across different weeks makes the breakdown meaningless.

Read the category breakdown as a share rather than a figure. A category holding two thirds of your spending is where change has to come from; one at 3 per cent is not worth optimising. Watch the highest figure too, since one large irregular purchase can dominate a month and make a normal month look like overspending.

Be aware of what is not modelled. There is no income side, no budget limit, no recurring-entry automation and no multi-currency conversion: the currency setting changes the symbol shown, not any exchange rate, so mixing currencies in one ledger produces a meaningless total.

Finally, records are held in your browser's local storage, so clearing site data or switching device loses them. Export to CSV regularly, which also gives you a spreadsheet file for charts or tax records. This is general budgeting information, not financial advice.

Frequently Asked Questions

In your browser's local storage on the device you are using. Nothing is uploaded, there is no account, and no server holds a copy. That keeps your spending private, but it also means the records exist in exactly one browser profile and disappear if you clear site data.
Not meaningfully. The currency setting changes the symbol displayed alongside your figures; it does not convert between currencies or apply exchange rates. Amounts in different currencies would be added together as plain numbers, so keep one ledger per currency and convert manually before entering if you need a combined view.
It produces a comma-separated file of your expense records that opens directly in Excel, Numbers, LibreOffice or Google Sheets. Use it as a backup, as the basis for charts and pivot tables, or to hand figures to an accountant. Exporting regularly is the only protection against losing locally stored data.
No. Each expense is entered manually, including monthly items such as rent or subscriptions, and there is no repeat or reminder function. A practical workaround is to log the whole month's known fixed costs on the first of the month, then add variable spending day by day.
The monthly card always covers the current calendar month regardless of what you are viewing, while the filtered total reflects only the records matching your active category, payment method and search filters. Clear all three filters and the filtered total will match the full list rather than the month.