Convert QIF to QBO
Drop in a .qif file and get a .qbo back, with a balance check that proves nothing was dropped.
No sign-up needed. Files never leave your browser.
- Split transactions count once, at the total the entry states rather than again through its parts
- Nothing is uploaded. The file is read in this browser tab and never stored
- No account and no card, with no limit on conversions
These two formats are as far apart as anything on this site. A .qif is a flat list. A one-character code opens each line (D for the date, T for the amount, P for the payee) and a caret closes the entry. A .qbo is a tagged OFX document with a statement period, a ledger balance and an Intuit institution identifier naming the bank.
So this is a translation rather than a rewrite. The records are read out of the QIF and rebuilt as an OFX document. Each transaction is given a unique id it did not previously have. A QIF has no field for one, and the format it is going to expects every row to carry it.
Two things about reading a QIF are worth stating, because getting either wrong is silent. Its S and $ lines are the parts of a split, adding up to a total the T line has already declared. Counting them as well would double any transaction split across categories. Quicken also abbreviates dates in a way nothing else does: 12/31'05 for the last day of 2005, with fields padded out by spaces, so a date can arrive written as 1/ 5'26. Both are read here as written.
New to these formats? Read what a QIF file is and what a QBO file is. They cover what each one holds, and what neither can tell you.
A converter that tells you when it missed something.
Most tools hand you a file and let you find out in your ledger. Every conversion here is reconciled against the closing figure first. That figure is read from your statement’s balance column, or typed in from the page when there isn’t one.
When the totals don’t meet you get the exact size of the gap, every row that did read, and the converted file anyway.
Sample balance check
A transaction may be missing. Review the rows below, or re-upload including all pages.
A sample result. This is the same component the converter uses.
Client statements never leave the tab
Conversion runs in your browser, in JavaScript on this page.
Closing the tab discards the file and everything read out of it. There is nothing to delete later and nothing to breach.
There is no upload step to decline, because there is no upload. Open your browser's network tab and convert. You will see no request carrying your data.
Once this page has loaded, conversion runs with no connection at all. Useful on a client site with locked-down wifi. It also proves the file stays put.
Questions people actually ask
What is the difference between a QIF and a QBO?
Structure, age and what they claim. QIF is a plain line-based list with no institution identifier, no statement period and no per-transaction id. QBO is an OFX 1.0.2 document that carries all three, including a number registered in Intuit's directory naming the bank the statement is meant to have come from. They share almost nothing beyond describing transactions.
My QIF has split transactions. What happens to them?
The split is collapsed to the one figure the entry already states. A split says a single payment was partly one category and partly another; the payment is still one payment, and the parts are a categorisation rather than extra money moving. Reading the parts as transactions in their own right would report the payment twice, which is the most common way a QIF is converted wrongly.
Why do the dates in my file look like 12/31'05?
That is Quicken's own shorthand: an apostrophe rather than a slash introduces a year in the 2000s. It also pads fields out to a fixed width with spaces, so the fifth of January can appear as 1/ 5'26. Both are read correctly here. What is written back out is an ordinary four-digit date, since passing the abbreviation along would only move the ambiguity somewhere else.
Where does the balance check get its figures?
From you, on this page. A QIF states no balance anywhere. It is a list of movements and nothing else, so there is nothing in the file to reconcile against. Type the opening and closing figures from your statement into the boxes above the results. Every converted transaction is then totalled and compared against them.
Does my statement get uploaded anywhere?
No. The conversion runs inside your browser using JavaScript on this page. The file is read from your disk into memory, converted, and offered back as a download. Nothing is sent to a server, so there is nothing for us to store, log or delete. You can confirm this by opening your browser's network tab while you convert.
Do I need an account?
No. There is no sign-up, no email capture and no usage limit on CSV conversion.
How do I know every transaction came through?
Every conversion shows a balance check above the results. If your file has a running balance column, the opening and closing balances are read from it. Otherwise you type them in from your statement. The check adds up every converted transaction, compares the total to the closing balance, and tells you the exact size of any difference.
My dates came out wrong. What happened?
A date like 05/01/2026 is ambiguous: 5 January in the UK and most of Europe, 1 May in the US. Turn on the day-first option and the file is re-read immediately. If your statement contains a date that can only be day-first, such as 19/02, the converter points this out before you download.
Some rows were skipped. Is that a problem?
Usually not. Totals rows, page footers, repeated column headings and blank lines carry no transaction date, so they are left out and counted. The skipped count is shown with the results so you can check it against what you expected.
Try it on the statement that’s annoying you right now.
No account, no card, no limit. If the layout isn’t recognised you will know immediately, rather than after a support ticket.