Free CSV to QIF Converter

Convert CSV bank statements to QIF format for Quicken, GnuCash, Microsoft Money, and other personal finance apps. No software to install.

100% freeNo software to installData never leaves your browser
1
2
3
Upload file

Drop your CSV file here

or click to browse

How to convert CSV to QIF

1

Upload your CSV

Drop in the CSV your bank exported — headers and column order don't matter.

2

Map the columns

Point the tool at your date, description, and amount columns and pick the account type.

3

Import the QIF

Download the file and import it in Quicken, GnuCash, or any QIF-aware app.

Supported applications

Quicken

All versions: Deluxe, Premier, Home & Business

GnuCash

Free, open-source accounting

Microsoft Money

Legacy versions still in use

HomeBank

Free personal finance manager

KMyMoney

Open-source finance for Linux/Windows

Moneydance

Mac and Windows personal finance

About CSV to QIF conversion

QIF is a line-oriented text format, and its whole design fits in a sentence: the first character of every line is a field code, the rest of the line is that field's value, and a caret on a line by itself ends the transaction. A file opens with a type declaration such as !Type:Bank, and everything after it is records. There are no quotes to escape, no column order to agree on, and no header row to negotiate — which is why a format designed in the 1980s outlived nearly everything built alongside it.

CSV solves none of the problems QIF solves. A CSV file has no idea which of its columns is a date, whether 03/04 means March the fourth or the fourth of March, or whether a negative sign means a charge or a refund. Every bank invents its own column names and its own ordering, and finance apps that try to import CSV directly end up asking the user to explain the file each time. Converting to QIF settles those questions once, in a form the receiving app does not have to guess about.

Most banks used to publish a QIF download button and quietly removed it, leaving CSV as the only export a lot of institutions still offer. This tool puts that button back: point it at the date, description, and amount columns in whatever your bank gave you, pick the account type, and it writes the header line and one record per row. The common cases are keeping a Quicken file current when your bank dropped its QIF export, moving several years of history into GnuCash, and getting statements from a small credit union that only ever offered CSV into a real finance app.

QIF field codes reference

CodeFieldWritten by this converter
!Type:Account type header (Bank, CCard, Cash)Yes — from your selection
DDate, MM/DD/YYYYYes — from your date column
TAmount, negative for money outYes — from your amount column
PPayeeYes — from your description column
^End of transactionYes — after every record
MMemonot emitted
LCategory, or transfer account in bracketsnot emitted
NCheck or reference numbernot emitted
CCleared statusnot emitted
S / E / $Split category, split memo, split amountnot emitted

Omitted codes are optional in QIF. Leaving them out produces a smaller file that every importer accepts; you categorise the transactions in your finance app after import.

Troubleshooting CSV to QIF

Quicken won't let me choose the account I want to import into. Recent Quicken for Windows releases restrict QIF import to manually-maintained account types and exclude accounts that are set up for online banking or direct connect. If your checking account is connected to a bank feed it will not be offered as a QIF destination — import into a manual account, or deactivate the online services on that account first.

Dates land a month off, or a whole year is wrong. QIF dates are written MM/DD/YYYY, and importers on non-US regional settings sometimes read them as DD/MM/YYYY. Any date where the day is 13 or higher is unambiguous and imports correctly, which is why the problem shows up on the first twelve days of a month and nowhere else. Check the receiving app's date locale before assuming the file is wrong.

Amounts import as zero or get truncated. Everything that is not a digit, a decimal point, or a minus sign is stripped from the amount column, so currency symbols and stray spaces are harmless. Thousands separators are not: a value of 1,234.56 loses its comma at CSV parse time and can arrive as two fields. Export without thousands separators, or strip them in the spreadsheet first.

The same transactions imported twice. QIF carries no unique transaction ID, so nothing in the file lets the receiving app recognise a record it has already seen. Duplicate detection falls back to matching on date, amount, and payee, which misses whenever the payee text differs by a character. Keep track of which date ranges you have imported rather than relying on the app to catch overlaps.

Frequently asked questions

What apps support QIF import?

QIF is accepted by Quicken, GnuCash, Microsoft Money, HomeBank, KMyMoney, Moneydance, and a long tail of smaller finance tools. It has been in circulation since the late 1980s, which is precisely why support is so broad — almost every desktop finance program written since then had to read it.

Which account type should I pick before converting?

The account type becomes the !Type: header on the first line of the QIF file, and importing apps use it to decide how to interpret the records. Choose Bank for checking and savings, CCard for credit cards, and Cash for petty cash or wallet tracking. Picking the wrong one usually results in the import wizard refusing the file rather than importing it incorrectly.

What does the generated QIF file actually contain?

One header line naming the account type, then a block per transaction: a D line with the date in MM/DD/YYYY, a T line with the signed amount, a P line with the payee or description from your CSV, and a caret on its own line to close the record. Nothing else is emitted, which keeps the file compatible with the strictest QIF parsers.

How do I import QIF into Quicken?

Use File > Import > QIF File, choose the file, then pick the destination account and confirm. Be aware that recent Quicken for Windows versions limit QIF import to manually-tracked account types and block it for accounts already connected to online banking — if the destination account doesn't appear in the list, that restriction is why.

How do I import QIF into GnuCash?

File > Import > Import QIF, then work through the wizard. GnuCash asks you to assign each unrecognised payee to an account and remembers those matches for later imports, so the first file takes a few minutes and subsequent ones are quick.

My bank CSV has separate debit and credit columns — what do I do?

QIF stores a single signed amount per transaction, so two columns cannot map directly. Combine them into one column in a spreadsheet first: subtract the debit column from the credit column so money out becomes negative and money in stays positive, then convert that single column.

What if my amounts are reversed (expenses show as income)?

Some banks export debits as positive numbers on the assumption that the reader knows a statement of charges when it sees one. QIF has no such convention — negative means money out. Toggle the invert option in the column mapping step, or flip the signs in your spreadsheet before converting.

What's the difference between QIF and QFX?

QIF is a plain-text format with no notion of a unique transaction ID, so importing the same file twice creates duplicates and the app has to lean on fuzzy date-and-amount matching. QFX is OFX-based and carries a FITID per transaction, which makes duplicate detection exact. QIF wins on compatibility, QFX wins on repeat imports.

Is there a row limit?

No. The conversion runs in your browser with no row cap, no file size cap, and no account. Nothing is uploaded, so a twelve-thousand-row export converts as quickly as a twelve-row one.