CSV to QBO converter.
Bank CSV in, QuickBooks Web Connect file out.
Drop the CSV your bank exported. Columns are detected, the running balance is checked row by row, and you download a .qbo that QuickBooks Online and Desktop import without complaint. Read and written in your browser; the file never leaves your computer.
Drop a bank CSV here
Also .tsv and .txt exports · read in your browser, never uploaded
How it works
- Drop the CSV. The delimiter (comma, semicolon, tab) and the header row are detected.
- Check the column line under the file name: date, description, amount or money out / in, balance. Click Change if a column is wrong.
- If the dates could be day-first or month-first, pick one; the table shows what each choice means for the first date.
- Read the balance check. Green means every row follows from the previous balance. A red row number tells you where to look.
- Set the account type and the last four digits so QuickBooks matches the account, then download the .qbo.
What the .qbo contains
The file is OFX 1.02 SGML with the INTU.BID header QuickBooks requires, one STMTTRN per row, amounts signed bank-style (money out negative), a FITID derived from each row so re-imports do not duplicate, and a LEDGERBAL set to the last running balance when the CSV has one. Descriptions are reduced to ASCII to match the ENCODING header, which is what QuickBooks expects.
Want to see what QuickBooks will check before you import? Run the downloaded file through the QBO checker.
CSV layouts it reads
- One signed amount column (Chase, Wells Fargo, Monzo, most credit cards), with or without a balance column.
- Separate debit and credit columns (Barclays, Lloyds, HSBC, Commonwealth Bank, most Indian banks), labelled or not.
- Debit/credit written as "12.00 DR" and "12.00 CR", amounts in brackets, currency symbols, thousands separators, and European decimal commas (1.234,56).
- Dates as 03/04/2026, 3-Apr-26, 2026-04-03, 20260403, "Apr 3, 2026" and "3 April 2026".
- Opening and closing balance rows without an amount are skipped; any other row that cannot be read is listed with its line number rather than dropped.
Starting from a PDF instead?
This tool is for CSV exports. If what you have is a PDF statement, convert the statement instead: the PDF is read, reconciled against the printed balances, and the same .qbo is produced. The first five pages are free without an account.
Other free tools
- OFX / QFX to CSV converterOpen an .ofx, .qfx or .qbo as a spreadsheet: CSV, Excel, Xero.
- QIF to CSV converterRead a Quicken .qif and download CSV, Excel, QBO or Xero.
- QBO file checkerSee why QuickBooks rejects a .qbo, row by row.
- PDF password removerSave a password-protected bank statement as a plain PDF, on your own computer.
CSV to QBO questions
Why does QuickBooks Online not accept my CSV?
QuickBooks Online accepts CSV only in a strict 3-column or 4-column layout with plain dates and numbers, and QuickBooks Desktop does not accept CSV at all. A .qbo file is what both versions import through Web Connect, and it carries a stable transaction id so importing the same file twice does not duplicate rows.
Is my CSV uploaded?
No. The file is read by JavaScript in this tab and the .qbo is generated there too. Nothing is sent to our servers; the network tab of your browser will show no request carrying the file.
My bank writes money out as a positive number. What do I do?
Open the column settings and tick "Money out is positive in this file". The signs flip for every row. If your file has separate money-out and money-in columns instead, choose that layout and the tool signs each row for you.
The dates came out in the wrong month.
A date like 03/04/2026 is 3 April in most of the world and 4 March in the United States. When every date in the file could be read both ways the tool asks; choose day-first or month-first and the table updates. Files with ISO dates (2026-04-03) or month names never need this.
What does the balance check do?
If the CSV has a running balance column, each row is checked against the previous balance and the first row that does not follow is pointed out. Statements exported newest-first are put back into date order. Without a balance column you can type the opening balance from your statement and the totals are checked against it.
Can I fix a row before downloading?
Yes. Click any cell in the table to edit the date, description or amount, swap money in and out on one row or all rows, delete or insert rows. The balance check re-runs after every edit and "Undo all edits" restores the file as read.
Which account number goes in the .qbo?
Type the last four digits of the account. QuickBooks uses it to match the file to the right bank account on first import; after that it remembers the link. Leave it blank and a placeholder is used.