Convert an OFX file to CSV

Get a plain CSV out of an .ofx download for Google Sheets, Xero, Wave, YNAB or your own scripts.

  • Runs in your browser. The file is never uploaded.
  • Free for 10 files a day. No account.
  • Also writes Excel, QBO, QFX, OFX, QIF, IIF, PDF.
  • Nothing is uploaded: the file stays on your computer
  • Free for 10 files a day, no account
  • Every output format from the same screen

Why OFX to CSV

CSV is the lowest common denominator: every finance app and every script reads it. An OFX file is richer but useless to tools that don't parse it. This converter keeps the useful parts (date, payee, memo, amount, check number) and drops the protocol wrapping.

Using the CSV

  1. Dates are ISO (2026-01-31). Amount is signed; Debit and Credit repeat it unsigned.
  2. YNAB: choose the account, then Import, and map Date, Payee, Memo and Amount.
  3. Xero: Accounting, Bank accounts, Import a statement, then map the columns when asked.
  4. The file is UTF-8 with commas as separators and quoted fields.

How the conversion works

1. Read

Every STMTTRN block is read: date posted, amount, payee, memo, check number and the bank's transaction ID. OFX 1 (SGML) and OFX 2 (XML) both work, as do credit card files.

2. Check

Rows without a readable date and amount are counted and reported, never silently dropped. Totals in and out and the period are shown so you can compare them with the source before importing.

3. Write

UTF-8 CSV with ISO dates, a signed amount column plus debit and credit columns, and quoted fields.

Starting from a PDF statement? The statement converter reads it and checks every row against the printed balance.

Related converters

All file converters

Questions

What about OFX files with several accounts?

The first account's transactions are converted. Split the file per account if you need the others; support for multi-account files is on the list.

Does it handle OFX 2 (XML) files?

Yes, both the SGML and XML forms.

Is there a limit?

Ten free conversions a day. Any file size your browser can hold.