Skip to content

QIF to CSV

Converter Tools ·
·

Convert a Quicken QIF file into clean CSV with Date, Amount, Payee, Category, Memo, and Cleared columns. Parses every record right in your browser.

What QIF is, and why it fights you

QIF stands for Quicken Interchange Format. It’s what old Quicken versions, plus a surprising number of banks, still spit out. Open one in a text editor and you get D6/14'26 on one line, T-42.50 on the next, and a lone ^ marking where a transaction ends. Each line is a single-letter code plus a value. Human-readable? Barely. Spreadsheet-friendly? Not at all.

That’s the gap this fills. Paste the QIF text on the left and a proper CSV table comes out on the right, one row per transaction, with named columns you can sort and filter. It re-parses as you type, so you can fix a stray line and watch the output update live.

What each field code becomes

QIF packs everything into terse codes. Here’s the mapping the parser uses:

  • D is the date. Quicken’s date format is genuinely awful, so it gets normalized to YYYY-MM-DD where possible. That D6/14'26 becomes 2026-06-14, apostrophe and all.
  • T and U both carry the amount. They’re duplicates in Quicken’s own files, so whichever is present fills the Amount column. Thousands separators like 1,200.00 get cleaned up.
  • P is the payee, the store or person on the transaction.
  • L is the category. Transfers wrapped in [brackets] come through untouched so you can spot them.
  • M is the memo or note.
  • C is the cleared flag. A * or c reads as “Cleared”, an X or R reads as “Reconciled”, and blank stays blank.
  • N is the check or reference number, dropped into its own column.

Two more columns sit in front: Account and Type. When a file bundles several registers (a !Type:Bank block, a !Type:CCard block, a !Type:Cash block) each row carries the account name from its !Account header and the register type, so a multi-account export never blends into one undifferentiated list.

Split transactions get their own treatment. A record with S/E/$ legs comes out as the parent row plus one child row per split, each tagged in the Split column and repeating the parent’s date and payee as a reference. So a $88.20 hardware run that’s half garden, half tools shows all three lines and still totals once. Address lines (A) aren’t columns here and are skipped.

Things to watch out for

Dates are the part most converters get wrong. QIF usually uses US month-first ordering, and Quicken marked 2000s years with an apostrophe instead of a four-digit year. So 6/14'26 is June 14, 2026, not the 6th of something. Two-digit years without an apostrophe pivot at 70: 69 reads as 2069, 70 reads as 1970. But plenty of European exports run day-first, and 03/05/2024 is genuinely ambiguous. So there’s a date-format control: leave it on Auto and the parser reads the whole file for a day above 12 to lock the order, or force US or EU yourself. Whatever it picks, it applies to every row so the ordering stays consistent. If a date can’t be a real date in that order, it’s passed through as-is instead of being silently corrupted.

Amounts keep their sign, and the sign is read whether the file writes it as -12.34 or in accounting parentheses like (12.34). Thousands separators and decimals are normalized across both US (1,234.56) and European (1.234,56) grouping. The CSV follows RFC 4180 quoting too, so a payee like Netflix, Inc. with a comma in it gets wrapped in quotes and won’t split across two columns when Excel opens it. You can switch the delimiter to semicolon or tab and add a UTF-8 BOM for Excel if you need to.

Messy files happen. A record missing its date and amount, or a trailing block with no closing ^, gets noted in an amber box above the output instead of crashing the whole conversion. You still get every valid transaction, plus a short list of what looked off.

Nothing gets uploaded. The parsing runs in JavaScript on your machine, which matters when the file is your actual bank history with payees and balances in it.

FAQ

My bank exported QIF instead of CSV. Will this work?

Almost certainly. Banks that offer QIF use the same D/T/P/L codes Quicken does. Paste the file contents and check that the dates and amounts look right.

Why is the date format different from my file?

It’s normalized to YYYY-MM-DD so spreadsheets sort it correctly. Quicken’s M/D'YY format sorts alphabetically, which scrambles the order. If a date can’t be parsed, it’s left exactly as written.

Are split transactions handled?

Yes. A split comes out as the parent row plus one row per split leg, each marked in the Split column and repeating the parent’s date and payee so you can see which transaction it belongs to. The parent keeps the top-level total, and the running total only counts it once, so the splits are detail without double-counting.

Does it open the .qif file directly?

Not yet. QIF is plain text, so open it in any editor, copy everything, and paste it in. Takes a few seconds.

What does the Cleared column mean?

It reflects QIF’s C flag. * or c means the transaction cleared the bank; X or R means you reconciled it against a statement. Blank means neither was set.

Is my financial data sent anywhere?

Nope. Everything stays in your browser. No server, no upload, no logging, so it’s fine for real account exports.

converter qif csv quicken finance

Related Tools

More in Converter Tools

YAML JSON Converter

Bidirectional converter between YAML and JSON with support for objects, arrays, and nested structures

Acres to Square Feet

Convert acres to square feet in your browser. One acre is exactly 43,560 sq ft. Live converter with a unit dropdown and a reference table for land and lots.

Bar to PSI

Convert bar to psi instantly. 1 bar equals 14.5038 psi. Live pressure converter with a reference table for tires, espresso, and diving. Browser-side.

Celsius to Fahrenheit

Convert Celsius to Fahrenheit instantly. F = C x 9/5 + 32. Anchors: 0C is 32F, 100C is 212F, body temp 37C is 98.6F. Runs in your browser.

Celsius to Kelvin

Convert Celsius to Kelvin instantly. K = C + 273.15. Anchors: 0C is 273.15K, absolute zero is -273.15C (0K), 100C is 373.15K. Runs in browser.

CM to Inches

Convert centimeters to inches instantly in your browser. 1 inch equals 2.54 cm exactly, so 1 cm is 0.393701 inches. Live converter plus a reference table.

Cooking Converter

Convert between cooking units, cups, tbsp, tsp, ml, oz, grams, lbs, and oven temperatures (°F, °C, gas mark).

Color Format Converter Pro

Convert colors between HEX, RGB, HSL, HSV, CMYK, CSS modern syntax, and integer formats

Cups to ML

Convert cups to milliliters for cooking and baking. 1 US cup equals 236.588 ml. Handles the US cup vs 250 ml metric cup gap, live in your browser.

DPI / PPI Converter

Convert between DPI/PPI, pixel dimensions, and physical print size. Give any two of pixels, inches/cm, or DPI and get the third.

Fahrenheit to Celsius

Convert Fahrenheit to Celsius instantly. C = (F - 32) x 5/9. Anchors: 32F is 0C, 212F is 100C, 98.6F is 37C. Calculates in your browser.

Feet to Inches

Convert feet to inches in your browser. One foot is exactly 12 inches, so it's simple multiplication. Live converter with a unit dropdown and reference table.

View all 62Converter Tools