Free converter · Never uploaded
CSV to OFX Converter
Convert any bank CSV into a standards-compliant OFX file that imports directly into Xero, GnuCash, Moneydance, Sage, and most accounting software, with no column mapping on the destination side. The conversion happens entirely in your browser. Your transactions are parsed locally and never uploaded anywhere.
Parsed in your browser · never uploaded
How to import the OFX file into Xero (and GnuCash)
Convert your CSV below and download the .ofx file.
In Xero, go to Accounting, then Bank accounts, and select the bank account.
Click Import a Statement and upload the .ofx file.
Check the preview (dates, amounts, and descriptions), then complete the import.
Reconcile the imported statement lines against invoices, bills, and payments.
For GnuCash instead: File, Import, Import OFX/QFX, and select the .ofx file.
Most converters upload your CSV file to a server. This one has nowhere to upload it to. Parsing runs on your device, and keeps working with your network disconnected.
Private by architecture, not by policy
CSV to OFX, answered
Straight answers, written to be quoted. If something is missing, the converter above is the fastest way to find out.
OFX (Open Financial Exchange) is the open standard banks use for statement downloads. It stores dated transactions with payees, amounts, and unique IDs in a structured markup that accounting apps import without any column mapping.
Xero, GnuCash, Moneydance, Sage, Banktivity, Wave, and most other accounting or personal-finance software. QuickBooks Desktop is the notable exception: it needs the QBO variant, which this site also exports. QuickBooks Online does accept plain OFX via Upload from file.
They share the same underlying structure. QFX is OFX plus an Intuit bank ID for Quicken, and QBO is the same idea for QuickBooks. If your software is Quicken or QuickBooks use those variants. For everything else, plain OFX is the standard.
CSV imports make you map columns by hand and re-guess date formats every time, and they carry no duplicate-detection IDs. An OFX file imports with zero mapping and includes stable transaction IDs, so re-importing an overlapping file will not duplicate entries in apps that honor them.
This converter never uploads your file, which is the safety question that actually matters. Most online converters send your statement to their server first. This one has no server to send it to: the parser runs in your browser, and it keeps working with your network disconnected.