CSV or Excel to QIF
Convert CSV or Excel to QIF without uploading it.
QIF is the plain, older import format that Quicken-style programs still read. Drop your bank CSV or spreadsheet, check the dates and signs, and download a QIF built on your own computer.
- Your file is never uploaded
- Columns, dates and signs detected, and fixable
- Stable transaction IDs on every export
- Free for 30 transactions per file
CSV and Excel converter
Drop your CSV or Excel file here
The file your bank or card issuer lets you download (.csv, .tsv, .txt, .xlsx, .xlsm and .xls). It is read inside this page and goes nowhere else.
Add another fileNo upload. This page's security policy forbids network connections, so your file cannot leave it. See how to check that yourself.
1Check how your file was read
2Preview and totals
3Account settings
4Download
Free: every format, the first 30 transactions of each file. Pro ($19, once, the same key as Plainsum Statements Pro): no limit, several files at once, saved column mappings.
How it works
Drop the file
CSV, TSV or Excel from your bank or card. The columns and the date order are detected, and you can change them.
Pick the date style
QIF cannot say which date order it uses, so choose MM/DD/YYYY or DD/MM/YYYY to match the program that will read it.
Download QIF
Import it once into the right account. Because QIF has no transaction IDs, avoid importing the same range twice.
What a QIF file looks like
!Type:Bank D01/31/2025 T-94.29 N1042 PHARMACY PURCHASE MOrder 8812 ^
Each transaction is a few lines that start with a letter. D is the date, T the amount (negative for money out), P the payee, N a check number, M a memo, and ^ ends the entry. Credit card files start with !Type:CCard. That is the whole format, which is why almost every program can read it, and also why it cannot carry an account number, balances or IDs.
QIF or OFX?
If your program accepts OFX or QFX or QBO, use those: the IDs let the program skip rows it already has, and the account details travel with the file. Choose QIF when the program only offers QIF, or when you want the simplest possible file.
Always import into a test account first, compare the number of rows and the totals with your bank, and check that the dates were not read with day and month swapped. This tool is not affiliated with Intuit, Quicken or any bank.
What it understands
- Files: CSV, TSV and semicolon-separated text (UTF-8, UTF-16 or the older Windows encoding), Excel .xlsx and .xls. The first sheet with data is used and you can pick another. Password-protected workbooks must be unlocked first.
- Columns: a date, a description or payee, and either one signed Amount column or separate Debit (money out) and Credit (money in) columns. A balance, check number, memo and a DR/CR marker column are picked up when present. Headings are recognised in English, German, French and Spanish, and a file with no heading row at all is read from the data.
- Extra lines: summary blocks above the table, a "beginning balance" line inside it, and totals at the bottom are skipped and listed so you can see what was left out.
- Dates: 2025-01-31, 01/31/2025, 31/01/2025, 31.01.25, 31-Jan-2025, 20250131, with or without a time. When every date could be read as month-first or day-first, Plainsum says so, shows you an example, and lets you choose.
- Amounts: -12.50, (12.50), 12.50-, +12.50, 12.50 CR, DR 12.50, $1,234.56, 1.234,56, 1 234,56 and 1'234.56. The decimal mark is decided for the whole column, not guessed per row.
- Signs: money out is written as negative in the output. Card exports that list purchases as positive are flipped when the account type is Credit card, and you can force or undo it.
The detection was built and tested on synthetic files laid out like the CSV exports of Chase, Bank of America, Wells Fargo, Capital One and American Express, and a German savings-bank export, plus Excel versions of the same data. Bank and card names are trademarks of their owners and are not affiliated with this tool. Your bank's layout may differ, which is why every guess can be changed.
Questions
How do I convert a CSV or Excel file to QIF?
Drop the file on the box at the top, check how the columns and dates were read, choose the account type and date style, and press Download QIF. The file is built in your browser.
Which date format does the QIF use?
QIF has no way to say which order a date is in, so the program reading it has to guess from its own regional settings. Plainsum writes MM/DD/YYYY by default and DD/MM/YYYY if you choose it under Advanced settings. If days and months come out swapped, convert again with the other style.
Does QIF stop duplicates when I import twice?
No. QIF has no transaction ID, so a program cannot tell that a row has been imported before, and importing the same file twice usually doubles the entries. Use QBO, QFX or OFX where your program accepts them, or import each date range only once.
Does a QIF file include balances or the account number?
Not in the way OFX does. A QIF bank file is a list of dated amounts with a payee, an optional memo and an optional check number. The account is chosen in the program when you import, and balances are worked out from the transactions.
What are the lines in a QIF file?
A header line (!Type:Bank for bank accounts, !Type:CCard for credit cards), then for each transaction D (date), T (amount), P (payee), optionally N (check number) and M (memo), and a ^ line to end the entry. Plainsum writes exactly that and nothing else.
Is my file uploaded?
No. The file is read by code running in the page and the page blocks every network request.
What does it cost?
The first 30 transactions of each file are free in every format. Pro is $19 once, with no limit, batch files and saved column mappings.