A .qbo file is bank data wrapped in QuickBooks Web Connect tags, so double-clicking it just opens QuickBooks. Pick the file in the box on this page and every transaction comes back as spreadsheet rows: date, description, memo, type, check number, amount. The conversion runs inside your browser tab, so the file never leaves your computer.
Last updated July 2026
QBO to CSV converter
Pick a file and get a spreadsheet. Nothing is uploaded: the conversion happens in this browser tab.
| Date | Description | Type | Amount |
|---|
Preview shows the first 25 transactions. The download and the copy include every row.
Have a PDF statement instead of a data file? The bank statement converter reads PDFs and writes XLSX, CSV, OFX, QFX, QBO and QIF.
To export a QBO file to CSV, open it with a converter that reads the OFX tags inside it, then save the transactions as comma-separated rows. A .qbo file is plain text, so the data is already there: each transaction sits in a STMTTRN block holding the posting date, amount, payee name, memo, and a unique transaction ID. The converter on this page reads those blocks in your browser and writes them to CSV, with no upload and no QuickBooks license needed. If instead you meant exporting data out of QuickBooks Online, that is a different job and it is covered further down this page.
The data inside a .qbo file is readable text, but it is shaped for a bank feed importer rather than a spreadsheet. That mismatch is what stops the obvious approaches from working.
Windows and macOS hand the .qbo extension to QuickBooks, so opening the file starts an import wizard instead of showing you the transactions. On a machine with no QuickBooks installed you get nothing at all.
Inside, a transaction looks like a run of angle-bracket tags such as DTPOSTED, TRNAMT, and NAME. Excel has no idea those are fields, so a straight text import drops the whole file into one column.
Most bank-issued .qbo files are OFX version 1.x, which is SGML: leaf tags open but never close. Power Query and any XML parser reject it as malformed, which is why importing it as XML so often errors out.
DTPOSTED stores a timestamp like 20260603120000 with a bracketed timezone on the end. Paste that into a spreadsheet and it sorts as a number, so nothing lands in the right month until it is reformatted.
Once a .qbo has been imported, QuickBooks has no command that re-exports the original file. You can export a transaction report, but that is QuickBooks data after categorization, not the raw bank records you started with.
A .qbo carries your account number, routing number, and every transaction. Handing that to an unknown web converter is a real disclosure, which is why a converter that never sends the file anywhere matters here.
The converter reads the OFX tag structure directly in your browser, pulls out each statement transaction, and writes the fields into named spreadsheet columns.
JavaScript reads the file locally with the browser file reader. There is no upload, no server copy, and no account to create, so your account and routing numbers stay on your machine.
Date, description, memo, type, check number, amount, and transaction ID each get their own column, so the output sorts, filters, and totals the moment it opens.
The OFX timestamp is converted to plain MM/DD/YYYY, so dates sort chronologically and pivot by month instead of behaving like a fourteen digit number.
All three are OFX underneath, so the same converter handles a QuickBooks Web Connect .qbo, a Quicken .qfx, and a plain .ofx from your bank without changing anything.
Save a UTF-8 CSV, or hit Copy for Excel and paste tab-separated rows directly into an open worksheet without touching the file system.
The first transactions appear on screen with a count, so you can confirm the file parsed correctly and the amounts look right before downloading anything.
No install, no account, no upload.
It is usually in Downloads, saved from your bank under a name like Web Connect or QuickBooks download.
Tip: A .qfx or .ofx file works in the same box.
Choose the file in the box at the top of this page. The transaction count and a preview appear straight away.
Tip: Nothing is transmitted; the parsing happens in the tab.
Save the CSV and open it in Excel, Google Sheets, or Numbers, or copy the rows and paste them into a sheet you already have open.
Tip: The CSV is UTF-8 with a header row.
Almost everyone who converts a .qbo has already downloaded it for accounting software and then found they needed the rows somewhere else instead.
Moving to Xero, Wave, or a spreadsheet means the Web Connect files your bank gave you have to become CSV before the new system will look at them.
Some banks and credit unions offer a QuickBooks download but no CSV or Excel option at all, so converting the .qbo is the only route to a spreadsheet.
A client emails the file they downloaded for their books. Converting it to rows is faster than installing QuickBooks just to read someone else's bank data.
Budgeting sheets, cash flow models, and pivot tables all want rows. A .qbo holds exactly the right data in exactly the wrong shape.
This trips people up constantly, so it is worth settling first. QBO is the file extension for a QuickBooks Web Connect file, a bank download meant to be imported into QuickBooks. QBO is also the common shorthand for QuickBooks Online, the software. Searching for a way to export QBO to CSV can mean either one.
If you have a file sitting in your Downloads folder ending in .qbo, you want the converter at the top of this page. If you are logged into QuickBooks Online and want your data out as a spreadsheet, skip ahead to the QuickBooks Online section below. The two jobs have nothing in common beyond the abbreviation.
There is a third file that gets tangled up with these, and it is the reason a lot of advice online is wrong. A .qbw is a QuickBooks company file and a .qbb is a backup of one. Those genuinely are proprietary binary formats, and renaming one to .txt tells you nothing. Several pages ranking for how to open a QBO file are actually written about .qbw and .qbb, and they carry that advice across, insisting the file cannot be read as text. For a Web Connect .qbo that is simply not true: it is plain ASCII, you can open it in Notepad right now, and everything on this page follows from that.
A .qbo file is plain text you can open in any text editor. It starts with a short header block, then the body is Open Financial Exchange (OFX) markup: nested angle-bracket tags carrying the account details, a date range, and one block per transaction. Intuit adds a couple of its own tags, notably INTU.BID, a bank identifier that tells QuickBooks which institution issued the file. That tag is the main practical difference between a .qbo and a plain .ofx.
Here is what each field in a transaction block holds and where it lands in the CSV this page produces.
| OFX tag | What it holds | CSV column |
|---|---|---|
| STMTTRN | The wrapper around one statement transaction | One row |
| DTPOSTED | Posting date as YYYYMMDD, often with a time and bracketed timezone appended | Date, rewritten MM/DD/YYYY |
| TRNAMT | Signed amount: negative for money out, positive for money in | Amount |
| NAME | Payee or merchant as the bank recorded it | Description |
| MEMO | Extra detail: location, reference, or the rest of a truncated payee | Memo |
| TRNTYPE | Transaction type such as DEBIT, CREDIT, CHECK, ATM, FEE, INT, XFER | Type |
| CHECKNUM | Check number, present only on check transactions | Check Number |
| FITID | The bank's unique ID for the transaction, used to prevent duplicate imports | Transaction ID |
| BANKACCTFROM | Routing number, account number, and account type for the source account | Shown in the summary line |
Keep the FITID column. It is the single most useful field when you are stitching several months together, because it lets you drop exact duplicates where two downloads overlap without eyeballing dates and amounts.
This is the most common dead end, and it is worth understanding rather than retrying. Nearly every .qbo a US bank issues is OFX version 1.x, which is SGML rather than XML. In SGML, leaf elements are allowed to open without closing: the file genuinely contains <TRNAMT>-45.20 with no closing tag, and the value simply ends at the next tag or line break. Only container elements like STMTTRN close properly.
An XML parser treats that as malformed and stops. So Excel's Data, then Get Data, then From XML route fails on most .qbo files, and so do generic XML to CSV utilities. The newer OFX 2.x specification is well-formed XML and does parse, but banks issue it rarely. A converter written for OFX, like the one on this page, reads the SGML shape on purpose and does not care which version you have.
If you would rather not use a converter, there are manual options. They work with different amounts of pain, so here is the realistic picture.
| Method | What actually happens | Worth it? |
|---|---|---|
| Rename to .txt and open in a text editor | You can read every transaction, which is enough to check one or two entries | Good for a quick look, useless as a spreadsheet |
| Rename to .txt and import into Excel | Everything arrives in a single column, one tag per row | No, unless you then write formulas to unpick it |
| Rename to .xml and use Power Query | Errors out on OFX 1.x because the leaf tags never close | Only if your file is the rarer OFX 2.x |
| Find and replace tags in a text editor | Possible with enough passes, and easy to corrupt amounts or drop rows | Only for a handful of transactions |
| Import into QuickBooks, then export a report | Works, but you get categorized QuickBooks data, not the raw bank records, and you need a license | Only if you were importing it anyway |
| A converter that parses OFX | Named columns and correct dates in one step | Yes, and the one above runs locally |
If what you actually want is your data out of QuickBooks Online, no file conversion is involved, and there is one quirk worth knowing: QuickBooks Online has no direct CSV export. Intuit's own support answer to this question is that you cannot export a CSV from QuickBooks Online, but you can export to Excel and save that as CSV yourself. So the route is: open the report you want, such as the Transaction List by Date or a Profit and Loss, set the date range, use the Export control in the report toolbar to send it to Excel, then save the workbook as CSV. Lists behave the same way, and Settings, then Export data, will pull reports and lists out in bulk as Excel files.
Two things to know before you rely on it. First, what you get is QuickBooks data after your categorization and rules have run, not the untouched bank download. If you need the original bank records, go back to the bank and download again. Second, QuickBooks cannot re-export a .qbo file you previously imported. The import consumes the file and there is no command that gives it back, which is exactly why people end up converting the original download instead.
Plenty of people land here wanting the reverse trip. If you have a spreadsheet and need a file QuickBooks Desktop will accept through Web Connect, a CSV to QBO converter builds the .qbo for you. If all you have is the PDF statement, the bank statement to QBO converter reads the PDF and writes a native Web Connect file, and the QuickBooks bank statement converter lays out every import path with its limits. For the general case of a statement PDF that needs to become rows, the PDF bank statement to CSV converter and the PDF bank statement to Excel converter handle any US bank.
The .qbo is one of a family. If your file is a Quicken download or a plain bank export, the OFX to CSV converter covers .ofx and .qfx with the same in-browser parser. For the formats corporate banks send, the BAI to Excel converter handles BAI2 balance reporting, the MT940 to Excel converter reads SWIFT statements, the camt.053 to Excel converter takes ISO 20022 XML, and the NACHA file to Excel converter opens ACH payment files. Not sure which you have? The bank file format converter compares them side by side. Once the rows are in a sheet, categorizing transactions from a bank statement and bank statement reconciliation cover what most people do next, and a general PDF to Excel converter handles any non-bank report you need as a table.
Pick the .qbo file in the converter at the top of this page and download the CSV. The converter reads the OFX transaction blocks inside the file and writes date, description, memo, type, check number, amount, and transaction ID into columns. It runs in your browser, so the file is never uploaded and you do not need QuickBooks installed.
Not directly. Excel has no importer for the OFX markup a .qbo contains, so renaming it and opening it drops every tag into a single column. Convert it to CSV first, then Excel opens it as normal columns. The XML import route also fails on most .qbo files because OFX 1.x leaves its leaf tags unclosed.
A .qbo is plain text, so any text editor will show you the contents: rename a copy to .txt and open it in Notepad or TextEdit to read the transactions. To get a usable table instead of raw tags, run the file through an OFX-aware converter such as the one on this page, which needs no QuickBooks license.
A .qbo file is a QuickBooks Web Connect file: a bank statement download formatted in Open Financial Exchange markup so QuickBooks can import it into a bank feed. It holds the account details, a statement date range, and one block per transaction with the date, amount, payee, memo, and a unique transaction ID.
Almost. Both use Open Financial Exchange markup and the same transaction tags. A .qbo adds Intuit-specific tags, chiefly INTU.BID, which identifies the issuing bank to QuickBooks. That is why QuickBooks accepts a .qbo but often rejects a plain .ofx that was simply renamed, and why the same converter reads both.
No. QuickBooks imports Web Connect files but has no command to write one back out, and it cannot return a .qbo you previously imported. What it can export is reports and lists to Excel or CSV, which give you QuickBooks data after categorization rather than the original bank records.
Open the report you want in QuickBooks Online, set the date range, then use the export control in the report toolbar to send it to Excel or CSV. Lists such as customers, vendors, and the chart of accounts have their own export option on the list screen. This exports your books, not the raw bank file.
It depends entirely on whether the file is uploaded. A .qbo carries your account number, routing number, and full transaction history, so a site that sends it to a server is a real disclosure. The converter on this page parses the file in your browser with JavaScript, so nothing is transmitted and nothing is stored.
That is the reverse trip and it needs a builder rather than a parser, because a valid .qbo requires correct OFX structure and a bank identifier QuickBooks will accept. A dedicated CSV to QBO converter handles it, and if you are starting from a PDF statement the QBO converter here writes the Web Connect file directly from the statement.
Same in-browser converter for .ofx and .qfx files.
Going the other way: turn a PDF statement into a .qbo.
Every QuickBooks import path and its limits.
Convert a PDF statement straight to CSV.
Not sure which bank file you have? Compare them.
From the same family of tools
Get started converting bank statements to spreadsheets.
USD
per month
billed as
$288 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
billed as
$888 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
billed as
$ yearly
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |