CSV to QIF Converter
Convert CSV to QIF in your browser, matching the columns yourself and seeing the values before you download. Nothing is uploaded and no account is needed.
Your data stays in your browser.
How to Convert CSV to QIF
Two files, one direction: the spreadsheet you already have, and the Quicken file you need. A CSV to QIF conversion runs entirely in your browser, and the one thing it cannot work out on its own is which column holds which field. If the file you already have is a .qif, the QIF to CSV converter reads it without any column mapping, because a QIF names its own fields.
- 1Choose your .csv file, or drag it onto the drop area
- 2Check the column matches; they are guessed from your header row, and every one of them can be changed
- 3Convert, then download the .qif and import it into your accounting program
You get every row this could read. A row whose date or amount cannot be read is left out and counted rather than guessed at, so if the number of transactions is not what you expected, the result panel says how many were dropped.
What Each Match Writes Into the File
A CSV explains itself: the first row names the columns. A QIF has no such row. A record is a short list of lettered lines, and the letter is the only thing that says what the line means, so there is nowhere in the file to record that the third column held the payee. That decision has to be made here, once, before a CSV to QIF conversion writes anything. Every match below is guessed from your header row and shown for you to change, and if your file has no header row at all, the switch above the matches says so and every match is yours to set.
| You match | What it becomes |
|---|---|
| Date | The D line, written as M/D/YYYY. A row whose date cannot be read is left out rather than guessed at. |
| Amount | The T line, at two decimal places, with the sign exactly as your column has it. This is the only number a QIF record carries. |
| Money in (credit) | Only needed when your export splits money across two columns. Each side is read as an amount, and the sign comes from which column the figure sat in, so the money-in column lands positive and the money-out column negative. |
| Payee | The P line. In a bank export this is usually the merchant or the description. |
| Memo | The M line, written exactly as it stands, for a second line of description the payee field has no room for. |
| Category | The L line. A bank CSV rarely has one, but a file you keep yourself usually does. |
| Number | The N line. Cheque numbers, reference numbers and anything else you want to find again later; whatever the column holds is written as it stands. |
| Account | Written as an !Account block before each group of records, naming the account on an N line. Leave it unmatched and the file opens one plain section instead. |
Why Not Let Quicken Read the CSV Directly?
It can, and for some files that is the shorter route. Quicken's own help spells out the CSV it will take: ten columns, the first seven in exactly this order, starting with the date and the payee, and a bank's export is written to the bank's idea of a transaction rather than to that list. The same page adds two warnings worth knowing before you try. A CSV import does not check what it finds against what you already have, so importing one file twice gives you every transaction twice. And it does not build a transfer from a category, even when the cell holds a bracketed account name like [Checking]. A QIF is a format Quicken writes itself, both out and in, and GnuCash documents its own QIF import, so a CSV to QIF conversion is a way back to something those programs were built to read. It also puts the column question in front of you, before a number reaches the file.
The column list and both warnings are on Quicken's own help page: Import transactions from .CSV file.
What the .qif File Looks Like Inside
A QIF is plain text, so you can open the file you get in any text editor and read it. Everything on this page is visible there, and it is worth a look before you import anything. If your problem is the other way round, and the file you have is a .qif you want back in a spreadsheet, QIF to Excel reads one in the opposite direction.
Quicken's help covers the import dialog and the accounts it will offer: What if all my accounts aren't listed in the QIF Import dialog?.
When the Import Does Not Go Right
Most problems here are visible before you import anything. The preview lists the values that will be written and marks any row the conversion would leave out, and the result panel counts those same rows.
Questions About CSV to QIF Conversion
A CSV is a grid: rows of values, with the first row naming the columns. A QIF is a list of records, and a record is a handful of lettered lines with no column names anywhere in it. That difference is the reason a CSV to QIF conversion has to ask you about the columns: there is nowhere in a QIF to keep a header row.
Yes. Quicken still documents exporting a QIF and importing one, and GnuCash has a QIF import chapter in its own manual. It is decades old, it is plain text, and it is still a format those programs read.
You can. A record is three to seven lines, and only the date, the amount and the closing caret have to be in it. The awkward parts are the ones a spreadsheet formula will not warn you about: the date has to be written as M/D/YYYY, and the amount has to carry the right sign. This tool reports the rows it dropped; it does not judge whether a sign is right, so read the Amount column in the preview before you download.
You can, since the format is plain text and the rules above are nearly all of it. If you convert files like this often, a script earns its keep. For one file, matching a few columns by hand is quicker than writing and debugging one.
Yes. Column order does not matter in a CSV to QIF conversion, because the match decides what each column is, not its position in the row. Header names are only used to guess the matches at the start; anything the guess gets wrong, or cannot recognise at all, is yours to set.