neatstatement

QFX to QIF converter

Going backwards, on purpose. QIF is older and simpler, and it is what a surprising amount of software still accepts.

Free, no accountNothing is uploadedNo file size limit

Drop your .qfx file here

or click to choose a file · nothing is uploaded

Converting QFX to QIF, step by step

  1. 1Be sure QIF is really what you need

    Check the import menu of the software you are feeding. If OFX or QFX is on the list, use that and close this page: this conversion throws away the transaction ids and there is no reason to pay that cost unless the other end forces it.

    Step 1 of the QFX to QIF converter: be sure qif is really what you need
  2. 2Drop the QFX in

    Any of .qfx, .ofx or .qbo is accepted, because all three are the same format wearing different labels. The transactions are read with their payees, memos and cheque numbers.

    Step 2 of the QFX to QIF converter: drop the qfx in
  3. 3Set the account type

    It decides the header line of the QIF: !Type:Bank or !Type:CCard. The receiving software uses that line to pick a register, so a credit card sent through as a bank account lands somewhere you will have to delete it from.

    Step 3 of the QFX to QIF converter: set the account type
  4. 4Download and open it before importing

    QIF is plain text and each record is five short lines. Opening it in an editor takes ten seconds and is worth doing once, because it is the format you can still fix by hand if a payee came through badly.

    Step 4 of the QFX to QIF converter: download and open it before importing

One QFX transaction, and the QIF it becomes

Watch the FITID disappear. Everything else makes the trip; that one line is the price of the older format.

In the QFX
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260314120000
<TRNAMT>-62.41
<FITID>0000012049918
<NAME>HANOVER GROCERY 4471
<MEMO>card purchase
</STMTTRN>
In the QIF
D03/14/2026
T-62.41
PHANOVER GROCERY 4471
Mcard purchase
^

What survives QFX to QIF

This is the only conversion on the site that ends with less than it started with. Know what you are giving up before you download.

FieldWhat happens to it
DateKeptWritten as MM/DD/YYYY, the one notation every QIF reader accepts
PayeeKeptNAME becomes the P line
MemoKeptMEMO becomes the M line
AmountKeptTwo decimals, sign preserved
Cheque numberKeptCHECKNUM becomes the N line
Transaction idLostQIF has no field for it, so duplicate protection is lost. This is the cost of the conversion
Balance and accountLostClosing balance, account number, routing number and currency have nowhere to go

Importing the QIF

In Quicken: File, then File Import, then QIF File. Note that current Quicken will only take a QIF into cash, asset and liability accounts, so if you are aiming at a checking account this is the wrong target format and QFX is the right one.

In MS Money: File, then Import, then Downloaded statement, and point it at the QIF. Money is happy with the format and has no account type restriction.

In GnuCash: File, then Import, then Import QIF. GnuCash will ask you to match the QIF account to one of yours and to confirm the date format it detected, which is the safety net this format otherwise lacks.

When going back to QIF is the right move

Three cases come up. Older versions of Quicken and MS Money read QIF and nothing newer. Some accounting packages outside the US never implemented OFX. And QIF is plain text with one field per line, which makes it the easiest format to edit by hand when you need to fix a handful of payees before importing.

If your software takes OFX, give it the OFX. This conversion loses information, and there is no reason to accept that loss unless something at the other end requires it.

What is lost on the way

The transaction ids, and they are the important loss. The FITID that made your imports safe against duplication has no field in QIF. After converting, importing the same file twice will import everything twice, and the receiving software cannot help you.

Also gone: the account and routing numbers, the closing balance, and the currency, none of which QIF records. Kept: date, amount, payee, memo and cheque number, which is what most imports actually use.

Keep the original

Because the conversion is lossy, the QFX is the copy worth archiving. If a year from now you need to reconcile against the bank's own reference for a transaction, that reference exists only in the original file.

This is the opposite of the usual advice about intermediate files. Here the input is richer than the output, so the input is the record.

Dates are written unambiguously

Output uses MM/DD/YYYY with a four digit year. Every version of Quicken and every tool that reads QIF accepts it, and it avoids the apostrophe notation, which exists for a two digit year problem that stopped mattering a long time ago.

If the software you are importing into is set to a day first locale, check the first few rows after import. QIF gives it no way to know which order the file used, so a locale mismatch shows up as dates that are quietly wrong rather than as an error.

Type information becomes description

OFX distinguishes a cheque from an ATM withdrawal from a point of sale purchase with the TRNTYPE tag. QIF has no equivalent, so that distinction leaves the file.

In practice it rarely matters, because the payee text usually carries the same information in a form a human reads. But if you were relying on the type to drive rules in your accounting software, those rules will need rewriting against the payee instead.

QIF problems, and what causes them

What you seeWhyWhat to do
Quicken will not let me choose a checking accountCurrent Quicken restricts QIF import to cash, asset and liability accounts.Use the original QFX, or convert QIF to QFX instead. Both routes avoid the restriction entirely.
Importing twice duplicated everythingQIF has no transaction ids, so the receiving software has nothing to match against.Undo or delete the second batch, and keep a note of which periods you have imported. The ids exist in the original QFX, which is the file to keep.
The dates came in day and month swappedThe output is written MM/DD/YYYY, and the software reading it is set to a day first locale.Change the import locale or date preference in the receiving software. Nothing in a QIF states which order it used.
Cheques no longer show as chequesOFX records a transaction type and QIF has no equivalent field, so the distinction leaves with the format.The cheque number does survive on the N line, so rules keyed on that still work. Rules keyed on the type need rewriting against the payee.
The whole file imported as one transactionA record is missing its closing caret, usually after hand editing, so the reader ran two records together.Open the QIF and check that every record ends with a line containing only a caret.

QFX to QIF questions

Why would I convert QFX to QIF rather than the other way round?
Because something downstream requires QIF: an old Quicken, MS Money, or a package that never implemented OFX. QIF is also plain text, so it is the easiest format to hand edit before import.
Do I lose anything converting QFX to QIF?
Yes. Transaction ids, account numbers, the closing balance and the currency have no place in a QIF. Date, amount, payee, memo and cheque number all survive.
Will the QIF import cause duplicates?
It can, and this is the main risk. Without transaction ids the receiving software has nothing to match on, so import each file once and keep track of what you have already done.
Can I open the QIF to check it first?
Yes, and it is worth doing. QIF is plain text: rename it to .txt or open it in any editor and every field is legible.