QBO to CSV Converter — Free online

A QBO is only useful inside QuickBooks. If you want to check it, filter it, or send it to someone who does not have QuickBooks, it has to become a spreadsheet first — which is what this does.

Not the file you need?

A QuickBooks Web Connect file as a plain CSV, for Sheets, Numbers or another import.

More than the amounts

The payee and memo come across together, and the cheque number — or the bank's transaction id where there is none — goes in its own Reference column.

Opens correctly in Excel

Written as UTF-8 with a byte-order mark, which is the difference between a name with an accent in it arriving intact and arriving as mojibake.

Your figures, not recalculated

Each amount is the one in the QBO, placed under money in or money out by its sign. No balance is worked backwards from the closing figure.

What the CSV file contains

Field by field, where each part of the download comes from.

In your QBOIn the CSVHow
<DTPOSTED>DateWritten 2026-03-02, year first, so a spreadsheet sorts it correctly.
<NAME>, <MEMO>DescriptionJoined as "NAME - MEMO". Where the memo only continues a name cut at 32 characters, the memo alone.
<CHECKNUM>, else <FITID>ReferenceThe cheque number, or the bank's transaction id where there is none.
<TRNAMT>Withdrawal or DepositBy its sign, written without the minus.
<LEDGERBAL>Balance column emptyA QBO has no running balance. The closing balance is stated in the preview instead of worked backwards into the column.

Sample output

Made by this converter's own code from the made-up file shown. The output is the file it writes, not retyped.

The input: QBO

A made-up QBO Web Connect file with four transactions, one of them a cheque.

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1><SONRS><STATUS><CODE>0<SEVERITY>INFO</STATUS><DTSERVER>20260319120000<LANGUAGE>ENG<INTU.BID>12345</SONRS></SIGNONMSGSRSV1>
<BANKMSGSRSV1><STMTTRNRS><TRNUID>1<STATUS><CODE>0<SEVERITY>INFO</STATUS>
<STMTRS><CURDEF>USD
<BANKACCTFROM><BANKID>000000000<ACCTID>555000111<ACCTTYPE>CHECKING</BANKACCTFROM>
<BANKTRANLIST><DTSTART>20260302<DTEND>20260319
<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20260302<TRNAMT>1975.00<FITID>QB260302A<NAME>EXAMPLE CO PAYROLL</STMTTRN>
<STMTTRN><TRNTYPE>CHECK<DTPOSTED>20260305<TRNAMT>-420.00<FITID>QB260305A<CHECKNUM>2051<NAME>CHECK 2051</STMTTRN>
<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20260313<TRNAMT>-58.40<FITID>QB260313A<NAME>SAMPLE TIRE & AUTO<MEMO>CARD PURCHASE</STMTTRN>
<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20260319<TRNAMT>-19.99<FITID>QB260319A<NAME>MADE-UP STREAMING CO</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL><BALAMT>3876.61<DTASOF>20260319</LEDGERBAL>
</STMTRS></STMTTRNRS></BANKMSGSRSV1>
</OFX>

The output: CSV

The whole file.

Date,Description,Reference,Withdrawal,Deposit,Balance
2026-03-02,EXAMPLE CO PAYROLL,QB260302A,,1975.00,
2026-03-05,CHECK 2051,2051,420.00,,
2026-03-13,SAMPLE TIRE & AUTO - CARD PURCHASE,QB260313A,58.40,,
2026-03-19,MADE-UP STREAMING CO,QB260319A,19.99,,

Questions about converting QBO to CSV

How do I open a QBO file without QuickBooks?

Convert it. A QBO is text, but every field sits inside tags a spreadsheet does not read, so opening it in Excel shows the tags rather than a table. As a CSV it opens in Excel, Google Sheets or Numbers with one row per transaction.

Where is the closing balance?

In the preview, stated as the QBO gives it, with its date. The CSV's Balance column is left empty because the file carries no balance for each transaction, and one calculated backwards would be a figure the bank never stated.

Will accented payee names open correctly in Excel?

Yes. The CSV is UTF-8 with a byte-order mark, which tells Excel the encoding, so a name such as CAFÉ opens as itself rather than as CAFÉ.

Related guides