CSV to QBO / QFX / OFX

Map the columns of a transaction CSV, set the account details, check the preview, then download an OFX-family file. No sign-up.

Your file is never uploaded. Everything runs in your browser; this page makes no network requests while converting.

Drop a CSV here or click to choose

.csv or .txt with one transaction per row

1. Columns

2. Account

3. Download

Formatted to the OFX standard; some apps may reject files not issued by your bank. The bank ID and INTU.BID are placeholders you can edit.

Working with bank statement PDFs? RowSmith turns PDF statements into clean CSV rows.

FAQ

Is my file uploaded?

No. The CSV is read and converted by JavaScript in this tab. You can check this in your browser's developer tools: the Network tab shows no requests when you convert.

Will my accounting or budgeting app import the file?

We can't promise that. The file is formatted to the OFX standard; some apps may reject files not issued by your bank, or ask for details such as a bank ID that only your bank's own files contain. Try a small file first.

What is the difference between OFX, QFX and QBO?

They are all OFX. OFX 1.02 is the older SGML layout and OFX 2 is XML. QFX adds INTU.BID and INTU.USERID fields. QBO uses the same layout with an INTU.BID field and a bank ID, which here is a placeholder you can edit.

What if my CSV has separate debit and credit columns?

Choose 'Debit and credit columns' and pick both. Debits are written as negative amounts and credits as positive.

How are transaction IDs made?

Each FITID is a hash of the date, amount, description and row number, so converting the same CSV again gives the same IDs. Apps use them to skip duplicates.

Why are some rows marked as problems?

A row is flagged when its date doesn't match the format you picked or its amount isn't a number. Flagged rows are left out of the download. Fix them in the CSV or change the date format.

Should I enter my full account number?

It's optional. Masking keeps only the last four digits. Always review the output before relying on it.