Skip to content
Files never leave your browser

CSV to IIF converter

Turn a CSV into an Intuit Interchange Format (.iif) file for QuickBooks Desktop — with the balancing split written for every transaction.

Drop your .csv file here

CSVIIF or click to choose a file

100% private · never uploaded
No upload No signup No install
You have.csvCSV

Plain comma-separated text. The universal import format for Xero, Wave, FreshBooks and QuickBooks Online.

You need.iifIIF

Intuit Interchange Format — the tab-delimited list format QuickBooks Desktop uses for bulk transaction import.

What IIF is for

IIF is Intuit’s tab-delimited import format for QuickBooks Desktop. Where a QBO file is a bank feed — transactions to match and accept — an IIF is a direct write into the register. Bookkeepers reach for it when they need to load a batch of transactions QuickBooks would not accept as a bank feed, or when the source is not a bank at all: a payment processor payout file, a POS export, a payroll summary.

Every transaction needs a balancing split

This is the part hand-built IIF files get wrong. QuickBooks uses double-entry: a TRNS line must be followed by at least one SPL line with the opposite sign, then an ENDTRNS marker. An IIF whose splits do not net to zero either imports crooked or is rejected outright, and QuickBooks’ error message will not tell you which line was at fault.

The converter writes the full TRNS / SPL / ENDTRNS triple for every row, with the split posting the exact negation of the transaction amount to an Uncategorized account you can re-code inside QuickBooks afterwards.

Tabs are the separator, so tabs must not survive in the data

IIF is tab-delimited with no quoting mechanism at all. A single tab character inside a memo shifts every column after it on that line, and QuickBooks imports a date into an amount field without complaint. Descriptions are stripped of tabs and newlines before they are written, and the NAME field is capped at the 41 characters QuickBooks accepts.

Importing the IIF

  1. Back up your QuickBooks company file first. IIF import writes directly to the register and has no undo.
  2. Convert your CSV above and download the .iif.
  3. In QuickBooks Desktop: File → Utilities → Import → IIF Files.
  4. Open the register afterwards and re-code the Uncategorized splits to the right accounts.

Nothing is uploaded

The file is read in this browser tab with JavaScript and converted on your machine. There is no upload, no queue, no server-side copy and no account to create. A transaction export carries your account number, your salary and everyone you pay — the safest converter is the one that never receives the file at all.

You can verify it: open your browser devtools, switch to the Network tab, and convert a file. Your file is not among the requests — the only traffic is an anonymous analytics ping that records that a conversion happened, never what was in it.

Starting from a PDF statement instead of a file? The PDF bank statement converter reads the statement itself and exports IIF directly, so you do not need a CSV in the middle. Both tools run in the same tab, and neither uploads anything — here is how that works.

FAQ

CSV to IIF, answered

What is the difference between an IIF and a QBO file?

A QBO is a bank feed: QuickBooks shows the transactions for you to match and accept. An IIF writes straight into the register with no matching step. Use QBO for bank statements you want to reconcile, IIF for batch loads from a non-bank source.

Does QuickBooks Online import IIF?

No. IIF is a QuickBooks Desktop format only. For QuickBooks Online, use the CSV upload in the Banking screen, or convert to QBO.

What account do the splits post to?

Uncategorized. Categorisation depends on your chart of accounts, which we cannot see, so we write a valid balancing split and leave the coding to you inside QuickBooks.

Should I back up before importing?

Yes, always. IIF import writes to the register directly and cannot be undone. Take a company-file backup first so a bad import is a restore rather than a cleanup.

Is my CSV uploaded anywhere?

No. The conversion is JavaScript running in this page. The file is never transmitted and never stored.

More converters

Every format pair we convert

The same private, in-browser conversion for each one.