QBO to CSV Converter
Convert QBO, QFX, OFX, and QIF bank files to clean CSV or Excel transactions - entirely in your browser. Your financial data never leaves your machine.
Your stuff stays yours. Your file is opened with JavaScript inside this page. It is never transmitted, and the tool keeps working with the network unplugged.
QBO, QFX, and OFX are import formats: perfect for feeding QuickBooks or Quicken, useless for actually looking at your money. The transactions are in there - wrapped in a machine format - and the usual way out is a converter site with an upload button, which for a file of your bank activity is the wrong deal. This page does the unwrapping in your browser: every STMTTRN block (or QIF record) becomes a row with date, description, amount, and type, shown in a table you can check before downloading CSV or a real Excel workbook.
It pairs with our bank statement to QBO converter, which makes the opposite trip - together the statement engine runs in both directions, and neither direction touches a server. Amounts come out as true signed numbers, so spreadsheet sums work immediately; QuickBooks' 32-character name truncation is undone where the memo field carries the full text.
How to use the QBO to CSV converter
- Click Choose a .qbo, .qfx, .ofx, or .qif file, or drag the file onto the drop area.
- Read the status line. It tells you how many transactions were parsed, which format was detected (OFX or QIF), and the currency when an OFX file declares one.
- Check the preview table. It shows Date, Description, Amount, and Type for up to 300 rows. The CSV text box below it holds every row.
- Click Download CSV or Download Excel (.xlsx). Both files are named after your original with
-transactionsadded.
What is inside QBO, QFX, OFX, and QIF files
QBO, QFX, and OFX are all Open Financial Exchange. Version 1.x files begin with plain header lines such as OFXHEADER:100 and use SGML, where many tags are never closed. Version 2.x is XML. QBO (QuickBooks Web Connect) and QFX (Quicken) are OFX with a few Intuit additions, such as an INTU.BID bank identifier. Each transaction sits in a STMTTRN block with these fields:
TRNTYPE: DEBIT, CREDIT, POS, ATM, CHECK, FEE, and others.DTPOSTED: a date written as YYYYMMDD, often followed by a time and a time zone in brackets.TRNAMT: a signed amount, negative for money leaving the account.FITID: the bank's unique ID for the transaction.NAMEandMEMO: the payee (limited to 32 characters in OFX 1.x) and free text.
The converter takes the first eight digits of DTPOSTED as the date and ignores the time and zone, so a date never shifts by a day. If MEMO starts with the same text as NAME, the memo is used alone, which recovers a truncated payee name. Otherwise the two are joined. FITID is read but not exported.
QIF is older and line-based. The first character of each line says what it holds: D date, T amount, P payee, M memo, and ^ ends the record. The converter reads those four codes and ignores the rest, including check numbers (N), categories (L), and split lines. QIF has no transaction type, so the Type column says DEBIT for negative amounts and CREDIT for everything else.
Worked example
<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20260105120000[-5:EST]
<TRNAMT>-42.17<FITID>2026010501
<NAME>WHOLEFDS MKT 10234 PORTLA
<MEMO>WHOLEFDS MKT 10234 PORTLAND OR</STMTTRN>
<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20260107
<TRNAMT>1250.00<FITID>2026010702
<NAME>ACME PAYROLL</STMTTRN>
becomes
Date,Description,Amount,Type
2026-01-05,WHOLEFDS MKT 10234 PORTLAND OR,-42.17,DEBIT
2026-01-07,ACME PAYROLL,1250.00,CREDIT
Common problems and fixes
- Amounts are wrong by a factor of 100, or cents are missing. Cause: the file uses a decimal comma. In OFX,
-12,50is read as -12. In QIF, commas are stripped as thousands separators, so12,50becomes 1250. Fix: in a copy of the file, change the amounts to use a decimal point before converting, then compare the total against your statement. - QIF dates look impossible, like 2026-25-01. Cause: the converter reads QIF dates as month/day/year. A day-first file gives invalid dates for days above 12 and swapped dates for the rest. Fix: correct the Date column in your spreadsheet, or re-export with US date order if your software allows it.
- The Type column says POS or ATM instead of DEBIT. Cause: OFX types are copied exactly as the bank wrote them. Fix: filter on the sign of Amount instead.
- Combining several downloads creates duplicates. Cause: overlapping date ranges, and no FITID column to dedupe on. Fix: sort by Date, Amount, and Description and remove identical neighbors.
- "This doesn't look like a QBO, QFX, OFX, or QIF file." Cause: often the bank served an HTML error page with a .qbo name. Fix: open the file in a text editor, and download it again if you see web page markup.
Related tools
To go the other way, use the bank statement to QBO converter. For a PDF statement with no QBO download, try the bank statement to CSV converter. To feed the result to a script, the CSV to JSON converter reshapes it.
Questions this tool gets asked
How do I convert a QBO file to CSV?
Drop the .qbo file on this page. It is parsed in your browser - date, description, amount, and type for every transaction - shown in a table for review, and downloaded as CSV or a real Excel workbook. Nothing is uploaded anywhere.
Does it read QFX, OFX, and QIF files too?
Yes. QBO (QuickBooks Web Connect) and QFX (Quicken) are both flavors of the OFX standard and parse identically; plain .ofx works the same. The older .qif format that Quicken and many banks still export is parsed as well - all four land in the same clean table.
Is my bank data uploaded to convert it?
No - never. These files carry your account activity, which is exactly why this tool runs entirely as JavaScript in your tab. There is no upload endpoint on this site. Load the page, disconnect from the internet, and it still converts.
Why would I convert out of QBO format?
QBO and OFX are import formats - fine for QuickBooks, useless in a spreadsheet. Converting to CSV or Excel lets you analyze transactions, hand them to an accountant who works in Excel, load them into other software, or keep a plain-text archive that will open in twenty years.
Can I go the other way - PDF or CSV into QBO?
Yes - our bank statement to QBO converter does the reverse trip: statement PDF in, QuickBooks-ready .qbo out, equally local. Between the two pages the statement engine runs in both directions.
Can't I just open the .qbo file in Excel directly?
You can try, but Excel treats it as one column of OFX tag soup - dates like 20260105120000 wedged between markup, amounts and payees on separate lines. This page does the unwrapping first, so what reaches Excel is a real table: one row per transaction, amounts as signed numbers that sum correctly.
Related tools
- statement → qboThe reverse trip: statement PDF in, QuickBooks Web Connect file out.
- statement → csvStatement PDF in, clean transaction CSV/Excel out - never uploaded.
- csv → jsonCSV rows in, JSON array of objects out. Quoted fields handled.
- msg / eml → readable emailOpen Outlook emails - body, headers, attachments - without Outlook.