Your converted file
In this file
Preview
Your file stays on your computer
The converter is a script that runs in this page. When you choose a file, your browser reads it from your disk, the script turns it into CSV in the page, and the browser saves the CSV like any other download. The file isn't sent to UrBudget or anyone else.
The converter has no upload step: your browser reads the file and builds the CSV on this device, and nothing from the file is sent anywhere. Once the page has loaded, you can go offline and the converter still works.
What the CSV contains
One row for each transaction, in the order the bank listed them, with these columns:
| Column | From the OFX tag | What it holds |
|---|---|---|
| Date | DTPOSTED | The day the transaction posted, as the bank wrote it. The time and time zone are dropped, and the date isn't shifted by the time zone. |
| Payee | NAME | The payee or description. Taken from a PAYEE block, or from EXTDNAME, when the bank uses those instead. |
| Memo | MEMO | Extra detail from the bank. Often empty. |
| Amount | TRNAMT | Negative for money out, positive for money in, which is how OFX signs statement transactions. Written with a period and at least two decimals, such as -8.50. |
| Type | TRNTYPE | The bank's code: DEBIT, CREDIT, POS (card purchase), ATM, CHECK, XFER (transfer), PAYMENT, DIRECTDEP (direct deposit), FEE, INT (interest) and a few more. |
| Check number | CHECKNUM | For checks, when the bank includes it. |
| Transaction ID | FITID | The bank's ID for the transaction. Apps use it to spot a transaction they've already imported. |
| Account | ACCTID | The account number, added only when the file holds more than one account. |
With Outflow and Inflow columns chosen, Amount becomes two columns of positive numbers: money out in Outflow, money in in Inflow.
Pending transactions are left out. OFX 2.2 lists them separately, as STMTTRNP, because they can still change; they appear in a later download once they post. Balances, the bank's details and the statement period aren't in the CSV either.
If a transaction's date or amount can't be read, the converter leaves that row out and lists it, with its place in the file and its transaction ID, so you can look it up on the bank's website. An amount written as 1,000 is one of those: OFX allows a decimal comma, so it could mean one thousand or one, and the converter doesn't guess. Amounts like 1,000.00 or 1.000,00 are read, because with both marks there's no doubt.
What is an OFX file? (And QFX and QBO)
OFX (Open Financial Exchange) is an open specification for exchanging financial data between banks and software. A bank's OFX download holds an account's transactions in a form that budgeting and accounting programs can read. Version 2.2 of the specification is dated November 2017. Inside, an OFX file is text: each transaction is a STMTTRN block with its date, amount, ID and name. Here is one, as a version 1 file writes it:
<STMTTRN>
<TRNTYPE>POS
<DTPOSTED>20261003120000[-5:EST]
<TRNAMT>-42.17
<FITID>202610030001
<NAME>CORNER GROCERY
<MEMO>DEBIT CARD PURCHASE
</STMTTRN>
The date is year, month and day, here followed by a time and a time zone: October 3, 2026, at noon Eastern time. The amount has a minus sign for money out. Version 1 files start with header lines such as OFXHEADER:100 and often leave tags like these unclosed. Version 2 files are XML, start with <?xml and <?OFX, and close every tag.
- QFX is Quicken's version: the same OFX, with a few extra Quicken tags such as INTU.BID, which identifies the bank to Quicken. Banks often label it Quicken or Quicken Web Connect.
- QBO is the same format again, made for QuickBooks (QuickBooks Web Connect).
The converter reads all three the same way, in version 1 or 2, and ignores the tags it doesn't need. It reads the character set the file's header names, usually Windows-1252 or UTF-8, so accented names come through as they should. It reads bank and credit card statements; investment account statements aren't converted.
Why convert to CSV
A spreadsheet doesn't read OFX, but it opens CSV: plain text with one row per line and commas between the columns. People convert their bank's file to:
- sort, filter and total their spending in Excel, Google Sheets or Numbers;
- give an accountant or tax software the transactions in the form it asks for;
- bring transactions into an app or website that imports only CSV;
- keep a readable copy of statements the bank will stop showing online.
Opening the CSV in a spreadsheet
- Excel. Double-click the file or open it with File > Open. Keep Add a byte order mark on: without it, Excel can show accented letters as two odd characters, like é instead of é.
- Long numbers in Excel. Excel treats a transaction ID or account number made of digits as a number, which drops leading zeros and turns any digits after the 15th into zeros. To keep them exact, bring the file in with Data > From Text/CSV instead of double-clicking, and set those columns to Text.
- Google Sheets. Use File > Import > Upload and pick the CSV.
- Dates. 2026-10-03 can't be mistaken for another order. Choose 10/03/2026 or 03/10/2026 if your spreadsheet or app expects the month or the day first.
Getting the file from your bank
Most banks offer a download next to an account's transactions on their website, often called Download, Export or Download account activity. Choose OFX, QFX or Quicken (QBO is the QuickBooks choice), and the dates you want. The bank import guides show where it is, step by step, at banks and cards such as Chase, Citi, Wells Fargo and Apple Card, all of which offer a QFX or OFX file.
If your bank also offers CSV, you may not need to convert anything. An OFX file is the same at every bank, though, and it carries each transaction's ID, while every bank lays out its CSV its own way.
If something goes wrong
- "This doesn't look like an OFX file." Open the file in a text editor such as Notepad or TextEdit. An OFX file starts with OFXHEADER:100, or with
<?xmlfollowed by<?OFX. If you see a web page instead, sign in to your bank and download the file again. - No transactions. The dates you picked had none, or only pending ones. Download a longer date range.
- Some transactions left out. The page lists each one and why. Check those few on your bank's website and add them by hand.
- Odd characters in names. In Excel, keep the byte order mark on. If the preview shows them too, the bank's file names the wrong character set; the converter already reads a file labeled Windows-1252 as UTF-8 when its bytes are clearly UTF-8.
In UrBudget
UrBudget imports OFX and QFX files directly, so you don't need this converter for UrBudget: choose Import file above an account's transactions and pick the file. Every row is shown before anything is saved, and rows you've already imported are marked as duplicates.
The CSV this converter writes imports into UrBudget too, for example after you've edited it in a spreadsheet. UrBudget reads its Date, Payee, Memo and Amount columns (or Outflow and Inflow), and you choose the same date order you picked here. A few things to know:
- UrBudget imports into one account at a time, so split a CSV that has an Account column first.
- If your spreadsheet saves dates with a time attached, change them back to plain dates; a date like 2026-10-03T12:00:00 isn't read.
- QBO isn't one of the formats UrBudget imports (CSV, OFX, QFX and QIF), so convert a QBO file here and import the CSV.
Budget from your bank's files
UrBudget is envelope budgeting for Windows and macOS. It imports OFX, QFX, QIF and CSV files, and never asks for your bank login. Free for 30 days with no account and no card, then $9 once.