Free converter · CSV → OFX

Convert CSV to OFX

Convert a bank or credit card CSV or Excel file to an OFX statement for Xero, Sage, FreeAgent or GnuCash. Columns detected, Debit and Credit combined, stable IDs. Free up to 100 rows.

Free up to 100 rowsColumns detected automaticallyFiles deleted after 1 hour
Processed in memory, never stored
No file handy? See the result on a fictional one first:

Only have a PDF statement? Use the PDF statement converter.

1. Upload

Any bank, card or app export: CSV (comma, semicolon or tab), Excel .xlsx, OFX/QFX/QBO downloads or Quicken QIF exports.

2. Check the mapping

We detect the date, description and amount (or debit/credit) columns and the date format. Change anything, flip signs, and preview the result.

3. Download

Get .QBO for QuickBooks, .IIF for QuickBooks Desktop, .QIF for Quicken, a Xero CSV, an OFX file or a clean CSV. Same file, any format.

Why OFX?

Xero, Sage Accounting, FreeAgent and GnuCash all import OFX statement files with no column mapping, while a bank CSV often needs editing first: separate Debit and Credit columns, a running balance, summary rows or the wrong date format. This converter reads the CSV the way it is, gives every transaction one signed amount and a stable transaction ID, and writes a standard OFX file.

How to convert a CSV to OFX

  1. Export the transactions from your bank or card as CSV (or Excel), for dates that aren't in your accounting program yet.
  2. Upload it above. We find the heading row, the date, description and amount (or Debit and Credit) columns and the date format, and skip lines that aren't transactions, like a beginning balance or totals.
  3. Check the preview. Money out should be negative; tick Flip signs if it isn't. Choose Credit card as the account type for a card export. Type the account's last 4 digits under Account last 4 or nickname if you want them in the file.
  4. Download the OFX file and import it into the matching account (see the table below).

What the OFX file looks like

One row of our sample bank CSV, with separate Debit and Credit columns and a running balance:

Date,Description,Debit,Credit,Balance
09/01/2026,ACH DEBIT GUSTO PAYROLL 0912,6420.18,,5998.18

becomes this transaction in the OFX file:

<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20260901120000<TRNAMT>-6420.18
<FITID>202609019989CD404B4200<NAME>ACH DEBIT GUSTO PAYROLL 0912
<MEMO>ACH DEBIT GUSTO PAYROLL 0912</STMTTRN>
In the CSVIn the OFX file
Date, in the format the preview detectedDTPOSTED, the same date written at noon. Transactions are in date order.
Amount, or Debit and CreditTRNAMT, one signed amount with two decimals. TRNTYPE is CREDIT for money in and DEBIT for money out.
DescriptionNAME cut to 32 characters, with the full text in MEMO. Accents become plain letters and & becomes "and", because the file is plain ASCII.
Running Balance columnThe ending balance (LEDGERBAL), but only when the column matches every row. Otherwise 0.00, and the file says nothing about your real balance.
Account typeA bank statement (checking) or a credit card statement, as you chose in the preview.
Nothing (CSVs don't have them)A transaction ID (FITID) made from the account, date, amount and description, and an account ID: the last 4 digits or nickname you type, or one made from the file's columns. Bank ID 999999999.

The same transaction always gets the same ID when you convert it again, so programs that skip known IDs skip the repeats when two files from here overlap. A CSV carries no routing number, so the bank ID is the placeholder 999999999.

Which CSV and Excel files work

  • Comma, semicolon or tab separated CSVs, and Excel .xlsx files (first worksheet).
  • One signed Amount column, or separate Debit and Credit (money out and money in) columns.
  • Account lines or titles above the heading row, and beginning-balance, total or blank rows, which are skipped and counted in the preview.
  • Month-first, day-first and year-first dates. Check the date format in the preview.
  • Free up to 100 transactions, and up to 20,000 per file.

Which programs import the OFX file

ProgramWhere to import it
XeroAccounting → Bank accounts → the account's menu icon (⋮) → Import a Statement. Xero lists OFX with QBO, QFX, QIF and CSV, and suggests OFX over CSV when you have the choice (Xero Central).
Sage AccountingThe bank statement import under Banking. Sage says OFX files upload without editing, and only the first bank account in a file is imported (Sage help).
FreeAgentBanking → Bank Accounts → the account → Upload Statement. FreeAgent takes OFX, QIF and CSV, and a CSV has to be reformatted first (FreeAgent help).
GnuCashFile → Import → Import OFX/QFX transactions. Pick the account the first time; GnuCash remembers it for the next file from the same account (GnuCash manual).
QuickBooksQuickBooks Online's Upload from file takes OFX (Intuit), but choose the .QBO output for QuickBooks: Desktop's Web Connect only reads .qbo files. On Desktop without Web Connect, use the .IIF.
QuickenUse the QIF output for Quicken for Windows (File → File Import → QIF File). Quicken validates Web Connect files with its online service and says it doesn't support files made by third-party conversion software (Quicken), so we don't promise an OFX or QFX will open there.

Import one file per account, into the matching bank or credit card account, and only for dates that aren't in the program yet.

Common problems

ProblemFix
Payments show as spending (or the other way round)Tick Flip signs in the preview, and for a card export choose Credit card as the account type.
Dates in the wrong monthThe file uses day-first dates. Pick %d/%m/%Y as the date format in the preview before downloading.
Transactions imported twiceThe file overlapped dates already imported from a bank feed or another file. Delete the extra copies and import only new dates next time. See duplicate transactions after importing.
The program's balance doesn't match the bankMost programs work the balance out from the transactions you import, so a missing opening balance or a missing month shows up here. See how to find bank reconciliation discrepancies.

Other conversions

Pricing

Free for files up to 100 transactions, which covers a typical month of activity. Larger files (a year of catch-up, a client's full history) use 1 credit from the same $9 pack of 5 as our PDF statement converter, or unlimited on Pro at $19/month. The preview is always free.

FAQ

Questions

Is it free?

Yes for files up to 100 transactions: no sign-up, no watermark. Bigger files (multi-month catch-up work) use 1 credit from the same $9 / 5-credit pack as our PDF converter, and the preview is always free.

How do I import the OFX file?

Xero: Accounting → Bank accounts → the account's menu icon (⋮) → Import a Statement. Sage Accounting: its bank statement import under Banking (Sage says OFX files upload without editing). FreeAgent: Banking → Bank Accounts → the account → Upload Statement. GnuCash: File → Import → Import OFX/QFX. QuickBooks Online also takes an OFX under Upload from file, but for QuickBooks pick the .QBO output instead.

Which columns do I need?

A date, a description and either one signed Amount column or separate Debit and Credit columns. We detect them automatically and you can change the mapping before downloading.

Is my file stored?

No. Files are processed in memory and deleted after 1 hour. We never use your data for AI training.

Can I try it without uploading my own file?

Yes. Click a sample button under the upload box. It opens a made-up export from a fictional bank in the same preview your own file gets, and every format is free to download, so you can test an import in a test or backup company file first. Don't import a sample into your real books.

Which programs accept the OFX file?

Xero, Sage Accounting, FreeAgent and GnuCash import it as a bank statement, and QuickBooks Online's Upload from file takes OFX too. For QuickBooks, choose the .QBO output instead: it's the same data in Intuit's Web Connect format, and QuickBooks Desktop only reads .qbo files.

Will the OFX file work in Quicken?

We don't promise that. Quicken validates Web Connect files with its online service, and its Web Connect help says it doesn't support files made by third-party conversion software. For Quicken for Windows, choose the QIF output and use File → File Import → QIF File.

Does the OFX file have my bank's routing number?

No. A CSV doesn't contain it, so the file uses 999999999 as the bank ID and the last 4 digits of the account (or the nickname you type) as the account ID. Programs that remember accounts by ID, like GnuCash, ask you to pick the account the first time and remember it after that.

Can I convert Excel to OFX?

Yes. Upload the .xlsx here (first worksheet) and download the OFX. Separate Debit and Credit columns are combined into one signed amount.

Other converters

More bookkeeping tools