CSV Format

OFX to CSV Converter: Convert OFX File to CSV Online (FREE)

Your bank wrote that .ofx for a program, not for a person. Open it in a spreadsheet and you get STMTTRN and DTPOSTED down column A where your transactions should be. This converter reads it the way the software would and hands back seven plain columns — date, description, amount, type, reference, memo and the bank's own transaction id. It all happens inside this tab; your statement is never sent anywhere.

Converted entirely in your browser - your file is never uploaded
Trouble converting a file? Tell us — we fix issues fast. Report it

Not the file you need?

Why Use Our OFX to CSV Converter Tool?

Seven columns, every time

Some converters drop a column when it happens to be empty, so the shape of the file changes with its contents. Here the same seven arrive every time, and the cheque number is kept out of the bank's internal id column.

Both OFX dialects open

OFX 1.x is SGML with no closing tags, 2.x is XML, and a tool built for one chokes on the other. That is why a file rejected elsewhere often opens here — both are read against the specification rather than guessed at.

Nothing is transmitted

A statement names your account, your balance and everyone you paid. A free OFX to CSV converter usually means a server somewhere holding all of that; this one is parsed by the page you are on, so there is no upload at all.

How to convert an OFX file to CSV online

1

Get the .ofx from your bank

Whatever your bank labels it — OFX, Microsoft Money or "Open Financial Exchange". Nothing needs renaming or re-saving first, which is all there is to how to convert OFX to CSV here.

2

Upload the OFX

Drop it on the box, or browse for it. Parsing happens in the page itself: each STMTTRN block is unpacked against the OFX specification and the rows appear on screen for you to check.

3

Choose the date order

One toggle is offered: month-first for the US, day-first for the UK, AU and EU, or ISO. OFX writes dates as bare digits, so your answer is what the spreadsheet reads. Then take the CSV.

The seven columns, and the tag each one comes from

Most converters tell you what they extract. This is the actual mapping, with real cells from a real statement, so you can see what survives before you spend a download finding out.

CSV columnOFX tagYou getWhat it carries
DateDTPOSTED01/05/2026Eight digits in the file, written in the order you pick
DescriptionNAMESAFEWAY #1234The payee. Falls back to MEMO when a bank sends no NAME
AmountTRNAMT-42.17One signed column — a negative is money out
TypeTRNTYPEDEBITDEBIT, CREDIT, CHECK, ATM, POS and the rest
ReferenceCHECKNUM1043The cheque or reference number, not an internal id
MemoMEMOGroceriesKept apart from Description rather than merged into it
Transaction IDFITID202601050001The bank's own identifier, for matching statements

What makes an OFX awkward to read

A spreadsheet shows the markup, not the money

Double-click an .ofx and Excel does its best with a file it does not know: tags like STMTTRN and DTPOSTED land in cells, one per line, with the amounts scattered among them. Nothing is broken — the structure simply is not a table until something reads it.

The date carries no order with it

OFX writes a date as eight digits, sometimes with a timezone bolted on the end. There is no marker saying whether your spreadsheet should read it month-first or day-first, so the choice has to be made on the way out rather than found in the file.

Amounts arrive in one signed column

OFX records a single TRNAMT where a negative is money out. Importers built around a debit column and a credit column will need you to split it, which is a formula away once the rows are in a sheet but impossible while the file is still markup.

Balances are in there, but they are not rows

An OFX also states the ledger balance and the period the statement covers. Those belong to the statement rather than to any transaction, so they are not smuggled in as an extra line — a CSV with a stray balance row breaks every SUM you write over the column.

Why one .ofx converts elsewhere and another does not

There are two OFX documents wearing the same extension. Here is one transaction written both ways — the version on the left is what trips up tools built for XML.

OFX 1.x — SGML

<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260105
<TRNAMT>-42.17
<FITID>202601050001
<NAME>SAFEWAY #1234

No closing tags. A value ends at the line break, which is why an XML parser rejects the whole file.

OFX 2.x — XML

<STMTTRN>
  <TRNTYPE>DEBIT</TRNTYPE>
  <DTPOSTED>20260105</DTPOSTED>
  <TRNAMT>-42.17</TRNAMT>
  <FITID>202601050001</FITID>
  <NAME>SAFEWAY #1234</NAME>
</STMTTRN>

Every element closed. Valid XML, and the dialect most generic tools assume you have.

When an OFX belongs in a spreadsheet

Your bank dropped CSV

Plenty of banks now offer OFX, QFX and QBO downloads and nothing plainer. Converting it yourself is quicker than asking them to add a format back.

Reconciling by hand

Sorting, filtering and a SUM across a column beats scrolling a register. Seven columns give you enough to pivot on without retyping a line.

Sending rows to a bookkeeper

A CSV opens in Excel, Google Sheets, Numbers or LibreOffice. Nobody needs the finance app you downloaded it from, or a licence for it.

Loading another accounts app

Most ledgers accept a CSV import and map the columns themselves. It is the format that travels when two programs share nothing else.

Archiving a closed account

Once the account is shut the download disappears with it. Plain text outlives the format, the bank's portal and the software that read it.

Checking before you import

The rows appear on screen before anything downloads, so you can see what the file holds rather than finding out inside your ledger.

Is CSV even the file you want?

Worth thirty seconds before you convert. CSV is right for a spreadsheet and for most import screens, but two common destinations want something else entirely.

You are here

A spreadsheet, or any app that imports CSV

Wants CSVExcel, Google Sheets, Numbers, LibreOffice, and the import screen of most ledgers. This is the page you are on.

Different file

Quicken

Wants QFXQuicken imports QFX and calls them "Quicken OFX files", which is why a plain .ofx is refused — and why renaming the extension does not fix it. A CSV is not the answer here either.

Different file

QuickBooks Desktop

Wants QBOWeb Connect expects a .qbo carrying an Intuit bank identifier. Our OFX to QBO page rewrites that in place.

Frequently Asked Questions — OFX to CSV Converter

QWhat is an OFX file, and why did my bank send one?

An OFX bank statement is written in Open Financial Exchange, the format finance software uses to pull transactions from a bank. The OFX file format is plain text: your account details, then one block per transaction carrying a date, amount, payee and the bank's reference. Nothing is hidden — it is addressed to a program rather than to you.

QHow do I open an OFX file in Excel?

Convert it to CSV first, then open that. There is no way to open OFX file in Excel as a table directly — Excel has no OFX importer, so it shows the markup instead. That is all how to open OFX file really means: turn it into something Excel reads. Drop the .ofx above and the CSV opens into columns.

QCan Excel open an OFX file directly?

It will open it, which is the confusing part — you get tags such as STMTTRN and DTPOSTED running down a column instead of transactions. Excel is showing the file honestly; it simply has no rule for turning that structure into rows. That is the job this page does.

QWhat is the difference between OFX and CSV?

Put OFX vs CSV simply: OFX is structured and self-describing, stating the account, the currency and what every field means. A CSV is a flat grid with a header row and no rules about its contents. OFX suits software; CSV suits you, and anything not built for banking.

QWhy won't Quicken import my OFX file?

Because Quicken imports QFX, not OFX, while calling them "Quicken OFX files". Renaming the extension to .qfx does not work either: a Web Connect file carries Intuit identifiers a plain OFX lacks, so the rename changes the label and not the contents. Quicken needs a real QFX; QuickBooks Desktop needs a QBO.

QIs my bank data uploaded when I convert?

No. The .ofx is read and the CSV is written inside this browser tab, so no statement of yours is transmitted and none is waiting on a server to be deleted. Converters that work server-side commonly hold an upload for around 24 hours.

QWhich columns will the CSV have?

Seven: Date, Description, Amount, Type, Reference, Memo and Transaction ID. Reference carries the cheque or reference number where the bank supplied one, and Transaction ID carries FITID — the bank's own identifier, which is what you reconcile against if you are matching statements.

QDoes this work with OFX 2.x files?

Yes, and with 1.x. The two are genuinely different documents: 1.x is SGML with opening tags only, 2.x is XML with matched pairs. Tools written for one often fail on the other, which is why a file that "will not convert" elsewhere is usually just the dialect the tool did not expect.

QWhat if the file holds more than one account?

Every transaction comes across, but as one list rather than split by account, and the CSV carries no account column to tell them apart. If your bank hands you a single download covering current and savings, export them separately where it lets you — otherwise expect both sets in the same sheet.

QCan I convert a QFX file here?

Not on this page — it accepts .ofx only, and a .qfx dropped on the box will point you to the page that takes it. The two formats are near-identical inside, with QFX adding an Intuit identifier, but they are handled separately so that what you download is right for where it is going.

QShould I pick US or UK date order?

The one the software or the person receiving the CSV expects, not the one the file used — the file did not use either. OFX stores a date as digits with no order attached, so month-first and day-first are equally faithful to it. Pick US for MM/DD/YYYY, or UK / AU / EU for DD/MM/YYYY.

QWill it work on a Mac?

Yes, and on Windows, Linux, ChromeOS or a tablet. The conversion runs in the browser rather than an installed application, so there is nothing to download and no platform left out. Mac users ask how to open one of these more than most, because macOS offers even fewer options than Windows.

QCan I convert OFX to CSV in Python instead?

You can — ofxparse and ofxtools both read the format, and for a repeating job in a script that is the right answer. The work is in the edge cases: the SGML dialect with no closing tags, timezone suffixes on dates, memos present on some rows only. For a file or two, converting here is faster.

QWhat is the best OFX to CSV converter?

It depends on whether you pay, and whether the file stays on your machine. Paid desktop converters run from roughly $60 into the hundreds, and subscription services from about $25 a month or a few dollars per file. Browser tools convert OFX to CSV free and keep the file local, so the real question is how many columns come back — this page returns all seven.

Other Conversion Formats

From bank download to spreadsheet

You picked the download your bank recommended and ended up with a file your spreadsheet will not open. Send it through the box above and seven columns come back, dated the way you asked. Converting OFX to CSV online takes one upload and costs nothing — an OFX to CSV converter online free of caps, working as an OFX file converter and OFX file viewer at once. The rows are on screen first, so if you only wanted to read the statement, you need never press download.