No account. No server. Works offline.
Budget targets that live in your browser.
Import your bank CSVs, set a spending target for each category, and see where you actually stand — today, and across the last twelve months. Your data never leaves your device.
Free and open source. Nothing to install.
There is no server
Every calculation runs as JavaScript in your own tab. There is no backend to send your transactions to, because there is no backend at all.
You hold the file
Your data saves to a .budget file on your disk — plain JSON you can read, back up, or delete. No export process to fight with later.
Nothing to sign up for
No email, no password, no subscription. Open the page and start. Once it has loaded, it keeps working with the network off.
A target is a number plus how much slack you'll accept.
Most budgets fail because they treat $601 of groceries the same as $900 — both are “over.” One is noise; the other is a problem. Targets separate them.
Example target
Groceries · at most $600 · tolerance $75
At or under $600. Nothing to think about.
Between $600 and $675. Over, but within the slack you allowed.
Above $675. This is the month asking for your attention.
Three directions
At most for spending caps. At least for income floors. Exactly for the bills that should not move, like rent.
Tolerance runs both ways
Upper and lower bands are set separately. You can allow yourself $75 of overage on groceries while treating any shortfall in income as immediately worth knowing about.
Scope it further
Narrow a target to one person in the household, or to descriptions matching a pattern — so “coffee” can have its own number without needing its own category.
Four lanes, because not all overspending means the same thing.
A $400 car repair and $400 of takeout are both $400, and treating them identically makes the number useless. Every target belongs to one lane, and the dashboard scores each lane on its own.
Income
What comes in. Judged as a floor — you want to be at or above the number.
Paychecks, refunds, reimbursements
Necessary
The bills you cannot skip. Steady month to month, so a surprise here is worth a look.
Rent, utilities, insurance, groceries
Discretionary
The spending you actually control. This is where a budget changes behavior.
Dining out, subscriptions, shopping
Anomalous
One-offs that would distort the other lanes if you left them mixed in.
Car repair, medical bill, flights
Getting there takes about ten minutes.
Import a CSV
Export from your bank and drop it in. Transactions are deduplicated by content hash, so re-importing the same file — or an overlapping date range — never doubles anything up.
Categorize once
Rules match descriptions by substring or regex and assign a category. Every future import with that merchant is sorted before you ever see it.
Set targets and watch
Give each category a number and a tolerance. The dashboard shows where you stand today, and Trends shows whether you are drifting month over month.
A setup wizard walks you through all three the first time, including mapping your bank's column names if it isn't one of the formats already recognized.
Find out where the money actually went.
Bring last month's CSV and you'll have an answer before you finish your coffee.
Get started