Skip to content
Files never leave your browser

QBO to CSV converter

Open a .qbo (or .ofx / .qfx) file and get a clean CSV or Excel table of the transactions inside — without installing QuickBooks.

Drop your .qbo file here

QBOCSV or click to choose a file

100% private · never uploaded
No upload No signup No install
You have.qboQBO

QuickBooks Web Connect — OFX with Intuit's tags, the file QuickBooks Desktop imports directly.

You need.csvCSV

Plain comma-separated text. The universal import format for Xero, Wave, FreshBooks and QuickBooks Online.

A .qbo is a text file you cannot read

Your bank downloads a Web Connect file, QuickBooks refuses it, or you no longer have QuickBooks — and now you are holding a .qbo you cannot open. Double-clicking it launches an installer prompt; opening it in a text editor shows a wall of SGML tags with dates like 20240131120000.

This converter parses those tags and gives you the transaction list back as a spreadsheet: date, description, amount, balance. Useful for checking what a bank actually sent before importing it, for moving a year of history into Xero or Wave, or for opening a file whose software you no longer run.

It reads QBO, OFX and QFX

All three are the same SGML body underneath, so the converter accepts any of them regardless of the extension — and it sniffs the content rather than trusting the file name, which matters because banks frequently hand out an OFX named .qbo or a .qfx that is plain OFX inside.

Transaction descriptions are reassembled from both the NAME and MEMO fields. Most banks truncate NAME to 32 characters and put the full merchant string in MEMO, so a converter that reads only NAME loses the end of every description.

Dates come out readable

OFX timestamps look like <DTPOSTED>20240131120000[-5:EST]. The converter reads the date portion and writes it as MM/DD/YYYY, so the CSV opens in Excel or Google Sheets as a real date rather than a 14-digit number that Excel silently turns into scientific notation.

Where the CSV goes next

A plain CSV is the widest import format in accounting: Xero, Wave, FreshBooks, Zoho Books and QuickBooks Online all accept one. If your target is a spreadsheet rather than an accounting package, take the Excel download instead — the amounts arrive as real numbers, already usable in SUMIF and pivot tables. For scripts and pipelines, the JSON export gives you ISO dates and numeric amounts.

Nothing is uploaded

The file is read in this browser tab with JavaScript and converted on your machine. There is no upload, no queue, no server-side copy and no account to create. A transaction export carries your account number, your salary and everyone you pay — the safest converter is the one that never receives the file at all.

You can verify it: open your browser devtools, switch to the Network tab, and convert a file. Your file is not among the requests — the only traffic is an anonymous analytics ping that records that a conversion happened, never what was in it.

Starting from a PDF statement instead of a file? The PDF bank statement converter reads the statement itself and exports CSV directly, so you do not need a QBO in the middle. Both tools run in the same tab, and neither uploads anything — here is how that works.

FAQ

QBO to CSV, answered

How do I open a QBO file without QuickBooks?

Drop it on the converter above. It reads the transactions in your browser and gives you a CSV or Excel file you can open anywhere. No QuickBooks install and no upload.

Does this work for .ofx and .qfx files too?

Yes. QBO, OFX and QFX share the same underlying format, and the converter detects the real format from the file contents rather than the extension.

Will the running balance be included?

Only if the file carries one. Most OFX and QBO exports record a single closing balance rather than a balance per transaction, so the balance column is usually empty and only the amounts are populated. That is a property of the format, not of the conversion.

Can I import the CSV into Xero or Wave?

Yes. The CSV uses a Date, Description, Amount, Balance header, which is the shape those importers expect. Xero and Wave both let you map the columns during import if they ask.

Is there a row limit?

No fixed limit. The conversion runs on your own machine, so the practical ceiling is your browser memory — statements with tens of thousands of rows convert without trouble.

More converters

Every format pair we convert

The same private, in-browser conversion for each one.