Free OFX to CSV Converter — Online, No Signup
Your bank handed you an .ofx file and your spreadsheet won’t touch it. This online OFX file converter reads every transaction straight out of it — dates, amounts, check numbers, memos and transaction IDs — and hands you a CSV with seven labelled columns.
Click to upload or drag and drop
Supported formats:
Up to 25MB · OFX → CSV
All uploads are encrypted for your security
How it works
How to convert an OFX file to CSV online
Three steps, no software to download and nothing to install — the whole conversion happens in the browser tab you're already in.
Upload your .ofx file
The file your bank's download gave you — or an export from Quicken, GnuCash or Banktivity. Both OFX 1.x and 2.x are read.
Every transaction is read
Parsed straight from the file's own tags in milliseconds. No AI guesswork — an OFX already states what each value is.
Download your CSV
Seven labelled columns that open in Excel, Google Sheets, Numbers or LibreOffice, and import into most accounting tools.
The output
What your OFX looks like as a CSV
Flip the toggle to see the same six transactions as your bank wrote them, and as you'll get them back — a check with its number, an autopay with a memo, an ATM withdrawal, a fee and a transfer. The tags are what a spreadsheet chokes on.
| Date | Description | Amount | Type | Reference | Memo | Transaction ID |
|---|---|---|---|---|---|---|
| 2024-03-05 | Client Invoice 1042 | +3,400.00 | CREDIT | — | incoming wire | 2024030500001 |
| 2024-03-08 | Office Depot | -142.18 | CHECK | 1043 | — | 2024030800002 |
| 2024-03-12 | Verizon Wireless | -86.40 | POS | — | autopay | 2024031200003 |
| 2024-03-15 | ATM Withdrawal Main St | -200.00 | ATM | — | — | 2024031500004 |
| 2024-03-22 | Monthly Service Fee | -12.00 | FEE | — | — | 2024032200005 |
| 2024-03-28 | Transfer from Savings | +1,500.00 | XFER | — | ref 88231 | 2024032800006 |
The format
What is an OFX file?
Open Financial Exchange — the standard your bank uses to hand transactions to accounting software. It's been around since 1997, which is why almost every finance app reads it and no spreadsheet does.
- Stands for
- Open Financial Exchange
- A banking data standard, not a document format
- Published
- 1997
- By Microsoft, Intuit and CheckFree
- Two versions
- 1.x SGML · 2.x XML
- Most bank downloads are still 1.x
- Same format
- .ofx · .qfx · .qbo
- QFX and QBO add one Intuit tag
A bank feed in a file
OFX was published in 1997 by Microsoft, Intuit and CheckFree as a common language for moving bank data between institutions and software. One file carries the account it belongs to, the statement period, a closing balance, and a tagged block per transaction:
<BANKACCTFROM>which account it came from, and what type it is<DTSTART> <DTEND>the statement period the file covers<STMTTRN>one block per transaction — date, amount, type, payee<CHECKNUM>the check or reference number the bank printed<FITID>the bank's unique id for that transaction<LEDGERBAL>the closing balance at the end of the period
OFX 1.x is SGML, where closing tags are optional — the version most bank downloads still use, and why a file can look half-finished while being perfectly valid. OFX 2.x is XML. Both are read here.
Opens an .ofx directly
Needs it converted first
Anything that expects rows and columns. That’s what this page is for.
Why it won't open
Why Excel can't open an .ofx file
Nothing is wrong with your file or your spreadsheet. They were built for different jobs.
It’s markup, not a table
An OFX describes transactions with nested tags. There are no rows, no columns and no delimiters — so there’s nothing for a spreadsheet to line up.
Text import makes it worse
Force it through Excel’s import wizard and the tags land in a single column, one per line, with your amounts buried among them.
Power Query only half works
Loading it as XML can work on newer OFX 2.x files, but most bank downloads are OFX 1.x SGML, which an XML parser rejects outright.
A CSV sidesteps all three: it opens as rows and columns everywhere, with no import wizard and no version to check first.
Accuracy
What separates the best OFX to CSV converter
An OFX already states what every value is, so a converter has no excuse to get it wrong. These four mistakes are common, quiet, and easy to check on whichever tool you end up using.
Check numbers overwritten by transaction IDs
Writing the FITID into the check-number slot replaces a real check number with a long internal reference. Both belong in the file, in different columns.
What you often get
Reference: 2024030800002
What you get here
Reference: 1043 · Transaction ID: 2024030800002
Savings accounts reported as checking
The file states its own account type. Reading only the message set collapses savings, money-market and CD statements into one — when the file already said which it was.
What you often get
Account type: checking
What you get here
Account type: savings (from <ACCTTYPE>)
The closing balance taken from the wrong end
On a newest-first export the last row is the OLDEST transaction. Taking its balance reports the figure the account opened with and labels it the closing balance.
What you often get
Closing balance: 5,210.00 (the opening figure)
What you get here
Closing balance: 8,467.82 (from <LEDGERBAL>)
Memos duplicated into the description
When a transaction has both a name and a memo, reusing the memo as the description gives you the same text twice and no memo.
What you often get
Description: incoming wire · Memo: incoming wire
What you get here
Description: Client Invoice 1042 · Memo: incoming wire
The columns
Every column, explained
Seven columns, each read from a named field in your file — not inferred, and not renamed.
| Column | Where it comes from |
|---|---|
| Date | DTPOSTED, rewritten from 20240305 into a date your spreadsheet understands. |
| Description | The transaction's NAME — or its MEMO, when the file gives no name. |
| Amount | TRNAMT exactly as stated, negative for money out. Never rescaled. |
| Type | The source's own TRNTYPE — CHECK, ATM, FEE, CREDIT, DEBIT and so on. |
| Reference | CHECKNUM or REFNUM: the check or reference number the bank printed. |
| Memo | The MEMO field, when there's also a name — so you never get the same text twice. |
| Transaction ID | FITID, the bank's unique reference. Useful for spotting duplicates. |
Why this one
A free OFX converter that reads every field
No AI is involved on this page — an OFX declares its own fields, so the converter reads them rather than interpreting a layout. That's why it's free to run and returns in about a second.
Read, not guessed
An OFX declares its own fields, so the converter reads them directly — nothing is inferred from layout, and nothing is left to interpretation.
Check numbers kept separate
CHECKNUM lands in its own Reference column instead of being overwritten by the transaction ID — a real check number stays a check number.
The right account type
A savings, money-market or credit-card statement stays what the file says it is, rather than being flattened into 'checking'.
Readable dates
OFX writes dates as 20240305. They come out as proper dates your spreadsheet will sort and filter correctly.
Memos that don't double up
When a transaction has both a name and a memo you get both, in separate columns — not the same text twice.
Transaction IDs preserved
The bank's own FITID comes through, so you can de-duplicate if you convert overlapping date ranges.
An OFX file converter for any bank — and for .qfx and .qbo
OFX is a published standard, so a file from a US credit union and one from a UK or Indian bank carry the same fields in the same shape. There’s no per-bank template involved here and nothing to configure.
QFX and QBO are the same format with a different extension — Quicken and QuickBooks branding rather than a different structure. If your download came with one of those extensions, renaming it to .ofx is enough to convert it here.
Your statements stay private. Uploads are encrypted in transit, the CSV is built from the transactions in your file, your upload isn’t kept longer than the job needs, and you can convert without an account.
FAQ
OFX to CSV converter — frequently asked questions
QWhat is an OFX file?
An Open Financial Exchange file — the standard format banks use to hand transaction data to accounting software. It was published in 1997 by Microsoft, Intuit and CheckFree, and it holds the account, the statement period, a closing balance and one tagged block per transaction. Quicken, GnuCash, Moneydance, Sage, Microsoft Money and QuickBooks all read it directly; spreadsheets don't, which is what this converter is for.
QWhy won't Excel open my OFX file?
Because an .ofx isn't a spreadsheet — it's financial markup written for software, with nested tags instead of rows and columns. Double-clicking it gets you an 'open with' prompt, and forcing it through Excel's text import crams the tags into a single column. There's nothing for a spreadsheet to grab onto until the transactions are pulled out, which is what this converter does.
QMy OFX file opens in Notepad — how do I stop that?
Windows has simply associated .ofx with a text editor, usually after someone clicked 'always open with' once. It doesn't mean the file is broken or plain text — you're seeing the raw markup. You don't need to change the association to convert it: upload the file here as-is. To fix it properly in Windows, right-click the file, choose Open with → Choose another app, and pick your accounting software instead of Notepad.
QIs this the best free OFX to CSV converter?
Judge it on one thing: whether the CSV matches your file. Most converters get dates and amounts right, so what separates them is the detail — check numbers kept apart from transaction IDs, the account type read rather than assumed, the closing balance taken from the end of the statement period, and memos that don't duplicate the description. Those four are set out above so you can verify them here or anywhere else.
QWhy do the dates in my OFX look like 20240305?
That's the OFX date format — YYYYMMDD, sometimes with a time and timezone appended. It's unambiguous for software but unreadable in a spreadsheet, and pasted raw it sorts as a number rather than a date. The converted CSV gives you 2024-03-05 instead, which Excel and Google Sheets both recognise as a real date.
QWhat is the Transaction ID column?
It's the FITID — the bank's own unique reference for that transaction, carried straight through from the file. It looks like internal plumbing, but it's genuinely useful: if you convert two statements whose date ranges overlap, the transaction ID is how you spot the rows that appear twice.
QWill my check numbers come through?
Yes, in their own Reference column. This is worth checking on any converter you use: a common shortcut is to write the transaction ID into the check-number slot, which silently replaces a real check number like 1043 with a long internal reference. Here CHECKNUM and FITID stay in separate columns.
QMy OFX file has no closing tags — is it broken?
No. OFX 1.x is SGML, where closing tags are optional, so a line like <TRNAMT>-142.18 with no </TRNAMT> is completely valid. OFX 2.x is proper XML and does close its tags. Both are read here, so it doesn't matter which your bank produced.
QCan I convert a QFX or QBO file to CSV here?
Yes, with one small step. QFX and QBO are the same format as OFX — Quicken and QuickBooks branding plus an extra Intuit tag, not a different structure — so the transactions read identically. This page's upload box is set to accept .ofx, so rename your file's extension to .ofx first and it will convert exactly as a QFX to CSV or QBO to CSV conversion would. Renaming changes nothing inside the file.
QCan I choose the date format in the CSV?
The dates come out as YYYY-MM-DD, the ISO format, rather than a US or European order. That's deliberate: it's the one format that's unambiguous, sorts correctly as text, and is read as a real date by Excel, Google Sheets and Numbers alike. If you need day-first or month-first, reformat the column once after import — the underlying values are already proper dates.
QCan I split debits and credits into separate columns?
Not currently — amounts arrive in a single signed column, negative for money out, exactly as the OFX states them. That's the closest match to your file and the format most tools import cleanly. Splitting into separate debit and credit columns is a one-formula step in a spreadsheet if your accounting software insists on it.
QMy bank offers a CSV download too — why convert the OFX?
Bank CSV exports vary wildly: columns get renamed between banks, check numbers and memos are often dropped entirely, and separate debit and credit columns are common. An OFX is a defined format, so every file states the same fields the same way. Converting from it gives you a predictable seven columns no matter which bank produced it.
QDoes the closing balance come through?
It's read from the statement's LEDGERBAL — the balance as of the end of the statement period, not simply whichever transaction happens to be printed last. That distinction matters on newest-first exports, where the last row in the file is the OLDEST transaction and taking its balance would report the opening figure as the closing one.
QWill a credit card or savings statement convert correctly?
Yes, and it stays what it is. The file declares its own account type in ACCTTYPE, and that's read verbatim rather than assumed — so a savings, money-market or credit-card statement isn't quietly relabelled as a checking account. That mostly matters when you go on to import elsewhere, but it's also just what the file says.
QDoes it work with statements in other currencies?
Yes. The currency is read from the file's own CURDEF field, so a euro, sterling or rupee statement converts exactly like a dollar one. Amounts are never rescaled or re-denominated — the numbers in the CSV are the numbers in your file.
QCan I convert several months at once?
Convert one file at a time, then combine the CSVs in your spreadsheet — each conversion takes a second or two. If you're regularly merging many statements, batch conversion is available on the paid plans.
QMy software says 'unable to read the selected Web Connect file' — will this help?
That error means your accounting software rejected the file, usually because the bank sent a plain OFX where the software expected its own branded variant, or because the download was truncated. Converting to CSV sidesteps it entirely — a CSV imports through the ordinary file-import route rather than the bank-feed one. If your goal is specifically QuickBooks or Quicken rather than a spreadsheet, a QBO or QFX conversion is the closer fix.
QDo I need to download or install anything?
No. This is an online converter — it runs in your browser, there's nothing to install, and it works the same on Windows, Mac, Linux, a phone or a tablet. Searches for an 'OFX to CSV converter free download' usually lead to Windows desktop software; you don't need any of it for a one-off conversion.
QIs it free, and is my statement private?
Free to try with no signup, with a free tier for occasional conversions and paid plans for volume. Uploads are encrypted in transit, the file isn't kept longer than the job needs, and you can convert without creating an account.
Keep going
Related converters
Bank Statement PDF to CSV
Only have the PDF statement? Read it into the same clean CSV.
Convert now →Bank Statement PDF to Excel
A working .xlsx with real numbers and formulas, straight from a statement PDF.
Convert now →Bank Statement PDF to OFX
Going the other way — build an OFX from a statement PDF.
Convert now →Bank Statement PDF to QBO
QuickBooks Web Connect, built from the statement your bank printed.
Convert now →Bank Statement PDF to QFX
Quicken Web Connect (.qfx) for direct import into Quicken.
Convert now →Bank Statement PDF to JSON
Structured data — one object per transaction — for apps and pipelines.
Convert now →