Free QIF to CSV Converter Online
Turn a Quicken, GnuCash or Moneydance .QIF export into comma-separated tables, with every transaction and each of its splits written as its own row.
What comes back is not one table. A QIF declares its account and its categories apart from its transactions, and the table those become types every category as an expense, the income ones included.
Embed this converter on your website for freeChoose your file
Drop your .QIF file here
Your file is never uploaded. We never receive it or store it.
A QIF Is Not One Table
A QIF converter reads a Quicken Interchange Format export and writes it out as comma-separated tables. What a QIF to CSV conversion hands back is not one table. A QIF declares its account in one block and, where it has them, its categories in another, and neither of those is a transaction. The transactions become one table. The account and the categories become a second.
That second table is the one to look at before anything downstream reads it. A QIF category list is only names. The block carries an I or an E to say income or expense, and the converter reads past both, so every category arrives typed as an expense.
It is one column, in one table. The names themselves are correct, spelled the way your program wrote them, and the transactions are untouched by any of it. Sorting on that column and correcting the income rows is a minute of work, and it is a minute worth spending while the file is still on your own screen.
In the QIF
- !Type:Cat
- the category list opens
- NOffice Supplies
- a name, and it is read
- E
- expense, and it is read past
- ^
- the entry closes
- NConsulting Income
- a name, and it is read
- I
- income, and it is read past
- ^
- the entry closes
In the second table (ACCNT)
| NAME | ACCNTTYPE |
|---|---|
| Checking | BANKread from the account block |
| Office Supplies | EXP |
| Consulting Income | EXPstated as an expense |
Only the N lines are read out of a category block. The I and E lines that say income or expense are read past, so every category name is written into the second table with ACCNTTYPE set to EXP. The account keeps the type its own block gave it, which leaves one column, on the category rows, to check.
What Comes Back
A QIF to CSV conversion hands back two tables, because a QIF holds two kinds of thing.
The Transactions Table
One row per split, each carrying its transaction's date, payee, reference and total beside it. The columns are prefixed TRNS. and SPL. so you can tell which side of the entry a value came from, and a Txn number at the front groups the rows that belong to one transaction.
The Account and Category Table
Named ACCNT, with two columns, NAME and ACCNTTYPE. It opens with one account row, the last account the file names for itself, and then lists every category the !Type:Cat block declared. No amounts and no dates: it is a list, not a record of anything.
How Many Files Come Back
One table downloads as one file, and several arrive together as a .zip with each also listed on its own by name. It is the same mechanism the IIF to CSV Converter explains in full. Combining and the raw tables decide the count; the separator decides whether each one is a .csv or a .tsv.
How to Convert QIF to CSV
Four steps, and the file never leaves your computer at any of them.
Drop Your .QIF
A Quicken, GnuCash or Moneydance export, or the same file saved with a .txt extension. It is read where it sits, so there is no upload and no sign-up.
.qif · .txt
See What Is in It
The transaction count and the number of list tables appear straight away, beside the first table's columns and rows and any warning the file raised. Nothing is written until you ask for it.
counts and warnings first
Choose the Shape
Each split on its own row beside its transaction is what you get unless you say otherwise. Turn the combining off for the raw TRNS and SPL tables instead, or keep both. Comma, semicolon or tab, and the tab is the one that writes a .tsv.
one table, or the raw tables too
Download
One table downloads as one file. Several arrive as a .zip, and each is listed by name as well, so you can take only the one you need.
one file, or a .zip and each
Fix the Category Column First
One column in the second file is stated rather than read. It takes a minute to fix.
The Names Are Already Right
Every category name in the second table comes straight out of the file's own !Type:Cat block, spelled the way your program wrote it. Nothing is renamed, merged, abbreviated or invented on the way through, so the only thing to correct is the column beside them.
Only the Type Is Asserted
ACCNTTYPE reads EXP on every category row, because a QIF category is only a name by the time it reaches that table. Sort on the column, correct the rows that are income, and the file is right. The account row is not part of this: it keeps the type its own block gave it.
The Transactions Are Unaffected
The transactions table carries a category as a name, in SPL.ACCNT, and nothing in it reads a type column. Correcting the second table changes nothing about the first, so the two can be handled in either order and neither one waits on the other.
If a person is going to read this rather than a system, take the workbook instead. An .xlsx sits in the download list on this page, and the QIF to Excel Converter is the page that explains what a workbook does with the amounts.
If the Export Is Monthly, So Is the Conversion
One export is a job you finish. The same export every month is a routine.
| Need | This converter | Autymate |
|---|---|---|
| One QIF read into a spreadsheet | Free, now, and nothing to sign up for | Not what it is for |
| The same export every month | The same upload and the same download, by hand | Scheduled, with nothing to upload and nothing to collect |
| The category column correct on arrival | Sorted and corrected again after every conversion | Mapped once, and the mapping is what runs each period |
| The same columns every time | Whatever this month's file happens to populate | An agreed set of fields, so what receives it does not have to guess |
The Columns Are Not the Same Every Time
The honest limit: this file's shape depends on this file, not on the format.
Only What the File Populated
A column is kept when some row fills it, plus four that are always kept: TRNSTYPE, DATE, ACCNT and AMOUNT. Two exports out of the same program need not have the same header row, because one month's file carries memos or check numbers and the next one does not.
A Fixed Template Breaks Quietly
Nothing errors when a column is absent. It is simply not there, and whatever reads the file next takes the column along from where it expected. Compare the header rows before you point an import template or a script at them, and compare them again after a month with unusual activity in it.
A Date It Cannot Read Goes Through
Quicken's apostrophe form, 01/02'03, is normalised on the way in. A date that still cannot be resolved after that is carried through in the shape the file wrote it rather than dropped or replaced with a guess, so it reaches the CSV as text. Check the preview against a date you already recognise.
For QuickBooks, Not a Spreadsheet
If the destination is QuickBooks rather than a spreadsheet, a table of columns is the wrong shape to arrive in. The QIF to QBO Converter writes Web Connect from the same file instead, and the transactions land in Bank Feeds for review.
Common Questions
What people ask before they trust a converter with their accounting system.
Quicken, which gave the format its name, along with GnuCash, Moneydance, Banktivity and Money Manager EX, and older copies of Microsoft Money. How to view QIF files without one of those is simpler than it sounds: the file is plain text, so any text editor shows you the contents. Reading the data rather than the file is the part a text editor cannot help with, and that is what converting it to a table is for.
Because the two formats disagree about what a line is. A spreadsheet reads one line as one row and a comma as a boundary between columns. A QIF writes one field per line and closes each transaction with a caret on a line of its own, so a rename gives you a single column of fragments with the record boundaries sitting in it as rows of their own. Nothing is joined to anything, and no amount of sorting afterwards fixes it.
Yes, and each one gets a row. A transaction with three S lines becomes three rows, each carrying the parent's date, payee, reference and total beside that split's own category and amount, with the Txn number at the front tying them back together. Nothing is collapsed, so a payment coded across four categories stays four rows with four categories on them.
Because the converter writes that column rather than reading it. A QIF category block carries an I or an E to say income or expense, those lines are read past, and every name that reaches the ACCNT table is written with ACCNTTYPE set to EXP. The names are right and the transactions are unaffected. Sort on the column and correct the income rows before anything downstream imports the file.
Yes, once Quicken has exported it as a QIF. Quicken's own .QDF is a proprietary data file rather than an interchange format, so the route is to export the account to QIF from inside Quicken and convert that file here. GnuCash and Moneydance write the same format, and an export from either converts the same way.
No. The QIF is read inside your own browser and the tables are written there too. Nothing is sent to a server, so there is no upload to receive, nothing stored and nothing anyone has to delete afterwards. Closing the tab ends it.
Offer the QIF to CSV Converter on Your Website
Your clients convert their files right on your site, free, without ever leaving it.
Free, with no sign-up
Copy the code and paste it. No account, no API key.
Client files stay private
Every file is converted in your visitor’s browser and never uploaded, not even to us.
Always up to date
Improvements reach your page automatically, and it sizes itself to fit.
Paste it into
Webflow
WordPress
Squarespace
- Any HTML page
<div class="autymate-embed" data-tool="qif-to-csv-converter">
<p>QIF to CSV Converter · Powered by
<a href="https://www.autymate.com/tools/qif-to-csv-converter">Autymate</a></p>
</div>
<script async src="https://www.autymate.com/embed/v1.js"></script>Paste it where you want the converter to appear.
Written and maintained by The Autymate integrations team. We build and run accounting integrations for multi-location franchises, ISVs and bookkeeping firms: QuickBooks Desktop and Online, POS, payroll and ERP. These converters exist because we kept writing the same ones for customers, and there was no reason to keep them to ourselves.
Last reviewed
A Correction You Repeat Is a Mapping
Converting one QIF is a job this page finishes. If the export arrives every month and the same column is sorted and corrected by hand before anything is allowed to read it, the correction is the thing worth moving rather than the file. Tell us where the export comes from, what reads the tables next, and how often it happens.
Exact source access, fields, permissions, QuickBooks behaviour and service scope are confirmed during discovery.
