BudgetOnTarget
Open the app

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

On target

At or under $600. Nothing to think about.

In tolerance

Between $600 and $675. Over, but within the slack you allowed.

Off target

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.

Step 1

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.

Step 2

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.

Step 3

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