CSV to OFX Converter (Free, In Your Browser)
By BankStatementReader Team ·
You have a CSV of bank transactions. Your accounting software wants an OFX file. The gap between the two is small, but OFX-hungry software is picky, and hand-rolled files often fail to import. This guide covers what OFX is, how it differs from QBO, why the FITID field matters, and how to convert for free in your browser.
What OFX is and who still needs it
OFX stands for Open Financial Exchange. It is a plain-text format that banks have used since the late 1990s to hand transaction data to financial software. When you click "Download" in online banking and see options like OFX, QFX, or QBO, they are all descendants of this one standard.
Plenty of software still speaks OFX as its native import language:
- Xero imports OFX alongside CSV (more on the difference below)
- GnuCash imports OFX and QFX files directly
- Money-style desktop apps, including Microsoft Money and its successors, were built around OFX
- Older accounting software that predates modern CSV import wizards often accepts nothing else
The catch is that many banks only offer CSV, or you are working from a converted PDF statement that gave you CSV. That is when you need to go the other way: CSV in, OFX out.
OFX vs QBO: same body, different envelope
If you have read our guide on converting CSV to QBO, the OFX story will sound familiar, because a .qbo file is essentially an OFX file wearing an Intuit envelope. The transaction body is the same OFX structure. What QBO adds is a set of Intuit-specific header tags, including an institution ID that QuickBooks checks before it accepts the file.
That envelope is why the formats are not interchangeable. QuickBooks Desktop wants the QBO envelope and rejects bare OFX, while Xero and GnuCash want plain OFX and have no use for the Intuit tags. As one bookkeeper on Reddit put it: "Unfortunately, QB Desktop doesn't support CSV import, only QB Online supports that. With QB Desktop, it has to be the .qbo web connect files."
The practical upside is that a tool which can build one format can build both. Our CSV to QBO converter exports .ofx and .qbo from the same mapped CSV, entirely in your browser, so you pick the envelope your software needs. For the QuickBooks side, note that generated .qbo files use a generic institution ID, and acceptance varies by QuickBooks Desktop version and setup; the canonical source remains your bank's own Web Connect file. Our guide to importing bank statements into QuickBooks Desktop covers that workflow in detail.
FITID: the field that prevents duplicates
Inside every OFX transaction is a FITID, short for Financial Institution Transaction ID. It is a unique identifier for that transaction within that account. Importing software uses it as a memory: if a FITID has been seen before, the transaction is skipped instead of imported twice.
This is the single biggest reason a naive CSV-to-OFX conversion causes trouble. If a converter generates random FITIDs, converting the same statement twice produces two different sets of IDs, and your software happily imports every transaction a second time. The browser tool generates deterministic FITIDs instead: converting the same rows again produces the same IDs, so re-running a conversion does not create duplicates.
A note for Xero users
Xero imports CSV directly, so you might wonder why anyone bothers with OFX for it. The answer is that same FITID. A CSV row carries no identifier, so Xero has to guess at duplicates by matching dates and amounts. An OFX file carries explicit transaction IDs that let Xero recognize what it has already seen, so re-imports after a partial failure stay clean. Xero is a common choice in the UK and Australia, so this question comes up a lot for accountants there. Once the transactions are in, our Xero bank reconciliation guide covers the matching side.
How to convert CSV to OFX in the browser
The CSV to QBO/OFX converter runs entirely client-side. Your file is parsed in the browser and never leaves your machine, which matters when the CSV is a client's bank data.
- Prepare the CSV. You need at least a date column, a description column, and an amount column (either one signed column or separate debit and credit columns).
- Upload and map. Drop the CSV in and tell the tool which column is which. It previews the parsed transactions so you can spot a wrong date format or flipped signs before exporting.
- Choose the account type. Bank and credit card accounts use different OFX statement blocks, so pick the one that matches. Credit card charges should come out negative.
- Export .ofx (or .qbo if your software wants the Intuit envelope) and import it in your accounting software.
- Verify. Check the first and last transaction and the overall count against your source before you reconcile.
Starting from a PDF instead of a CSV
If your starting point is a PDF statement rather than a CSV, you do not need a two-step dance through a spreadsheet. Paid desktop converters have long filled this niche, but the pricing stings for occasional use. As one bookkeeper put it: "I'm not paying $150 for a software I'll use one or two times." Our MoneyThumb review looks at that trade-off in depth.
The bank statement converter turns PDF statements into XLSX, CSV, JSON, QBO, or OFX directly. You can try the flow on sample data in the browser; converting your own PDFs takes a free account, which covers 5 statements per month with no card and no bank login. A balance check panel flags any statement whose totals do not reconcile, so you catch extraction problems before they reach your books. There is a companion guide for the PDF to QBO route if QuickBooks is the destination.
Bottom line
OFX is the lingua franca for Xero, GnuCash, Money-style apps, and older accounting software; QBO is the same data in Intuit packaging. The conversion is free and stays on your machine. The detail worth caring about is the FITID: deterministic IDs let you re-import without duplicates, which is the whole point of choosing OFX over CSV.
Related reading
How to Convert CSV to QBO for QuickBooks (Free)
QuickBooks Desktop will not import a CSV, it wants a .qbo Web Connect file. Here is how to convert CSV to QBO free in your browser, with column mapping and duplicate protection explained.
PDF to QBO: Getting Bank Statement PDFs into QuickBooks Desktop
QuickBooks Desktop imports .qbo Web Connect files, not PDFs or CSVs. Here is how to turn a PDF bank statement into a .qbo file, what to check before importing, and when the CSV route makes sense instead.
Importing Bank Statements into QuickBooks Desktop: What Works in 2026
QuickBooks Desktop only imports .qbo Web Connect files, not CSV. Here are the routes that actually work in 2026, from your bank's own download to free converters, plus the QuickBooks Online quirks to know before choosing an import path.