Turn a bank statement into a money briefing.
Drop your Bank of America CSV export and get spending breakdowns by category, month-over-month trends, recurring-charge detection, and plain-English findings — all computed in your browser. Nothing is uploaded, nothing is stored.
Add your statement
In Bank of America online banking: open the account, then Download transactions as CSV. Credit card and checking/savings exports both work.
.csv statement(s) hereHow it works
1οΈβ£ Export
Download your statements as CSV from Bank of America or Chase β one file or several at once. The parser auto-detects each bank's format (card and checking), tags every transaction with its source, and pairs card payments across files so nothing is double-counted.
2οΈβ£ Analyze
Transactions are categorized by keyword rules you can override per payee. The dashboard rolls up spending by category and month; the findings engine hunts for subscriptions, duplicates, spikes, and fees.
3οΈβ£ Brief
Get plain-English money pointers and a downloadable standalone HTML report. Close the tab and every trace of your data is gone from the browser.
| What it finds | Why you'd care |
|---|---|
| Recurring charges | Same payee + same amount across months β your subscription footprint, with annualized cost |
| Possible duplicates | Same payee + amount within days of each other β double-charge check |
| Category breakdown | Where the money actually goes β dining vs groceries, etc. |
| Month-over-month trend | Is spending drifting up? By how much? |
| Fees & interest | Surfaced separately so they can't hide in the noise |
| Unusual spikes | Charges far above a payee's normal β worth a glance |
Privacy, honestly
This page is a static file. Your CSV is read with the browser's FileReader API and parsed in memory by JavaScript running in this tab. There is no server, no analytics on file contents, and no network request carrying your data β open devtools' network tab and verify, or disconnect from the internet after the page loads.
Unlike some tools on this page's sibling projects, this one keeps nothing in the browser: no localStorage, no autosave, no named projects. Close or refresh the tab and your transactions are gone. If you want to keep results, use the Report tab's HTML download β you choose where that file lives.
Two honest caveats: GitHub (which hosts this page) can see that someone visited the URL, the same as any website β but never the contents of a file you drop into the tab. And anything on your own machine (browser extensions, corporate device management) is outside what a web page can control.
FAQ
Is my statement uploaded anywhere?
No. The file is read with the browser's FileReader API and parsed in memory. There is no server and no network request carrying your data β verify in devtools' network tab, or disconnect after the page loads.
Is anything stored in my browser?
No. This app deliberately keeps nothing in localStorage β no autosave, no projects. Refresh or close the tab and everything is wiped. Download the HTML report if you want to keep the analysis.
Which banks and formats are supported?
Bank of America credit-card exports (Posted Date, Reference Number, Payee, Address, Amount), BoA checking/savings exports (Date, Description, Amount, Running Bal.), and Chase credit-card exports (Transaction Date, Post Date, Description, Category, Type, Amount). The parser auto-detects the columns, and a generic fallback handles most other banks' CSVs with date/description/amount columns.
Can I upload multiple files at once?
Yes β select several CSVs (or drop them together) and they're merged into one view. Each transaction is tagged with its bank, exact duplicates from overlapping downloads are removed, and card payments that appear in both a checking file and a card file are auto-paired as Transfers so they aren't double-counted. The Findings tab reports everything it paired or removed.
The income/spending numbers look backwards. What gives?
Banks aren't consistent about amount signs. If totals look inverted, hit Flip amount signs in the app toolbar β it re-runs the whole analysis with the opposite convention.
How does categorization work?
Keyword rules map payees to categories (groceries, dining, subscriptions, β¦). Click any transaction's category to override it β the app remembers your choice for that payee for the rest of the session.
Can I share the results?
Yes β the Report tab generates a standalone HTML file you can save or email. It's fully self-contained with no external dependencies, and contains only the analysis, which you control.
Where do my budgets, debts, and goals live?
In the tab's memory, alongside your transactions β nothing is kept in browser storage. Use β¬ Profile in the toolbar to download them as a JSON file you keep wherever you like, and β¬ Profile to load them back later.
Do the budgeting tools need my bank login?
No. Everything is computed from the CSV you upload plus numbers you type in yourself (planned spending, debts, goals). That's the whole point β the paid apps this is modeled on need your credentials; this one never asks.
πChangelog
Loadingβ¦