1. Your CSV
2. The account it goes into
Choose a file or paste the text, then click Convert.
Result
Transactions
| Row | Date | Description | Amount | Type |
|---|
The rules, and what they leave out
- Columns: found by header name (Date, Posted Date, Description, Payee, Amount, Debit, Credit, Type, Balance, Check Number and common variants). With no header, the first date-like and amount-like columns are used and you are warned.
- Amounts: in whole cents with no floating point. Parentheses, a trailing minus, DR/CR suffixes, currency symbols, thousands separators and a decimal comma are understood. An amount with more than two decimals is rejected rather than rounded.
- Dates: ISO, 20261004, 4 Oct 2026 and slash dates. For slash dates the order is taken from the whole column, and the tool says when it cannot tell.
- IDs: each transaction gets a stable ID from its date, amount and description, so importing the same rows again is recognised as a repeat.
- Checks: rows with unreadable dates or amounts, identical rows, dates in the future, all-positive or all-negative files, and a running balance column that does not follow the amounts.
- Not done: categorising, matching to your books, logging in to a bank, multi-currency files, and anything that depends on the import rules of your version of QuickBooks or Quicken.
Common questions
How do I convert a bank CSV to a QBO file for QuickBooks Online?
Paste the CSV or choose the file, check the detected columns and dates, enter the account number, pick the account type and press Download QBO. The file is OFX 1.02 with one transaction per row and a stable ID per transaction, which is what QuickBooks Web Connect reads. Some QuickBooks versions also want a bank identifier (INTU.BID); there is a field for it.
What is the difference between QBO, OFX and QIF?
OFX is the open bank-download format. QBO is an OFX file with a QuickBooks bank identifier, opened by QuickBooks Desktop and Online. QIF is an older text format with no transaction IDs, used by some Quicken and accounting tools and being retired by many. This page writes all three from the same rows.
Why does my bank CSV import show the wrong dates or swap months and days?
A date like 03/04/2026 is March 4 in US files and 3 April in most others. The tool looks at the whole date column: any date with a first part above 12 means day first, any with a second part above 12 means month first. If every date is 12 or under it cannot tell and says so, and you can choose the order.
How are debit and credit columns handled?
If the file has separate Debit and Credit columns, a debit becomes a negative amount and a credit a positive one. If it has one Amount column, the sign is kept; a Type column of Debit or Credit corrects an unsigned amount, and the Flip signs box inverts every row for credit card files that list charges as positive.
Will importing the same file twice create duplicate transactions?
Each row gets an ID built from its date, amount and description, so re-importing the same rows gives the same IDs and QuickBooks should skip them. Two genuinely identical rows on one day get different suffixes so both import. The tool warns about identical rows so you can confirm they are not an export overlap.
Does this work for credit card statements?
Yes. Choose Credit card as the account type and the file uses the credit card section of OFX. Many card exports list purchases as positive numbers; tick Flip signs so that charges are negative the way QuickBooks expects.
Is it safe to put a bank CSV into a web page?
The page runs in your browser, the file is read locally and nothing is uploaded; a test in the code asserts there are no network calls. Your own policies still decide whether you may open bank data in a browser.
What does this not do?
It does not log in to a bank, categorise transactions, match them to your books or know your QuickBooks setup. A clean conversion means the rows were read consistently, not that the import will be accepted by every version of every accounting tool.