Format guide

QFX to Excel: How to Open a QFX File in Excel

Excel can't read .qfx files natively. Here are three ways to get Quicken Web Connect data into a spreadsheet — one takes about ten seconds.

100% private
Never uploaded
Instant
Runs in your browser
CSV & Excel
Real spreadsheet output
No signup
No account, no card
Convert a QFX file to Excel

Drop your file below — runs entirely in your browser, nothing is uploaded.

Drag and drop your QFX file hereor click to browse your files QFXExcel

Why Excel can't open a QFX file

You downloaded transactions for Quicken, double-clicked the .qfx file, and Excel either refused to open it or filled the screen with tags. Nothing is wrong with your file, and nothing is wrong with Excel: a QFX file simply isn't a spreadsheet, and Excel has never had an importer for it.

A .qfx file is Quicken's Web Connect download — the file your bank produces when you choose "Download for Quicken" from online banking. Whatever produced it, the contents are Open Financial Exchange data — markup designed for software to read rather than people. Excel has no importer for it, so you get one of three unhelpful outcomes.

1
Double-clicking does nothing useful
Windows and macOS hand the file to whichever accounting app claimed the extension, or offer an "open with" prompt. Neither gets you a spreadsheet.
2
Renaming it to .xml sort of works
Excel will open it as XML and show a tree of tags. Every transaction is there, spread across rows in a shape nobody would call usable.
3
Older files fail hardest
Many banks still emit OFX 1.x, which is SGML rather than XML — leaf tags often have no closing tag at all. Excel's XML importer rejects those outright.
The short version
Use the converter above — it reads .qfx, .ofx and .qbo alike, handles unclosed SGML tags, and produces a real .xlsx workbook. The rest of this page explains what's inside the file and what to do when the output looks wrong.

What's inside the file

Open one in a plain text editor and you'll find something like this. Each transaction is a STMTTRN block, inside a statement section identifying the account:

Inside a .qfx file
<BANKACCTFROM>
  <BANKID>021000021
  <ACCTID>1234567890
  <ACCTTYPE>CHECKING
</BANKACCTFROM>
<BANKTRANLIST>
  <STMTTRN>
    <TRNTYPE>DEBIT
    <DTPOSTED>20250601120000[0:GMT]
    <TRNAMT>-45.20
    <FITID>202506010001
    <NAME>STARBUCKS STORE 04821
    <MEMO>CARD PURCHASE
  </STMTTRN>
</BANKTRANLIST>

Note the missing closing tags on leaf elements — valid OFX 1.x, and exactly what breaks generic XML tools. Note DTPOSTED too: a date, a time and a timezone marker in one field. Only the first eight digits matter for bookkeeping, which is why a good converter strips the rest and a lazy one hands you the raw string in a date column.

FITID is worth keeping. It's the bank's unique ID for that transaction, and it's what accounting software uses to avoid importing the same transaction twice.

Method 1: use the converter on this page

1
Drop in the file
.qfx, .ofx and .qbo all work — same structure underneath. It's read in your browser; nothing is sent to a server, which you can confirm in the Network tab.
2
Check what was found
You'll see the transaction count and any warnings. A file containing more than one account says so, and records with missing dates or amounts are reported rather than dropped silently.
3
Download the workbook
An .xlsx with Date, Payee, Description, Category, Transaction ID, Amount, Dr/Cr and Balance. Multi-account files get one sheet per account.

Method 2: rename to .xml and import manually

Worth knowing if you'd rather not use a tool at all. Copy the file, change the extension to .xml, open it in Excel and choose "As an XML table". Excel builds a table from the tags.

Two caveats. It only works on OFX 2.x files with proper closing tags — a parse error means your file is SGML-style and this route is closed. And you get raw fields: dates as 20250601120000, one column per tag, account details interleaved with transactions. Cleaning that up by hand takes longer than the conversion did.

Where the manual route breaks down
Unclosed SGML tags stop Excel's importer dead. Multi-account files interleave two statements into one table with no way to tell them apart. Dates and amounts arrive as text, so sorting and totalling misbehave until you convert them. And it all has to be redone next month, on the next file.

Method 3: when your file is actually a PDF

A common surprise: people looking for a QFX-to-Excel converter often don't have a QFX file. Most banks only offer structured downloads for recent months — beyond that window you get a PDF, which no format converter can help with.

That needs a statement parser: something that infers the column layout from the document itself, handles scanned pages with OCR, and checks the running balance reconciles so a misread row surfaces instead of quietly landing in your books.

MethodHandles scansUploads your fileEffortOutput
Converter on this pagen/aSecondsClean .xlsx, one sheet per account
Rename to .xmln/a10–20 min per fileRaw tags, manual cleanup
PDF statement converterSecondsExcel, CSV, QBO, OFX, QIF

Only have a PDF statement? That converts too.

A QFX file means your bank gave you structured data — which most banks only do for the last few months. Beyond that you get a PDF, and a PDF won't open in Excel. BalanceExtract reads those directly: it works out the column layout from the document itself, handles scanned statements with OCR, checks that every running balance reconciles, and flags any row it isn't confident about before you export.

Same Excel output, same on-device processing, nothing uploaded.

Convert a PDF statement6 pages free, no signup, no card

Troubleshooting your converted file

Dates look like 20250601120000

That's the raw DTPOSTED field: date, then time, sometimes a timezone marker like [0:GMT]. Only the leading eight digits are meaningful. The converter here keeps just the date; if another tool gave you the full string, you're seeing the field untouched.

Amounts are negative when I expected positive

OFX signs from the account's point of view — money leaving is negative, money arriving is positive. Credit-card files follow the same rule, so a purchase is negative and a payment towards the card is positive. It reads backwards at first but it's consistent.

There's a Transaction ID column I didn't ask for

That's FITID, and you want it. Accounting software uses it to spot transactions it has already imported. Deleting the column before importing is how you end up with every transaction twice.

Two accounts are mixed together

Your download bundled several statements. Each account gets its own sheet in the Excel export here — if a tool gave you one interleaved list, it read the transactions without reading the account sections around them.

The file is .ofx or .qbo, not .qfx

Same format underneath, different extension and header. The converter above accepts all three, so there's nothing to change.

Some rows are missing

Check the warnings shown after conversion. Records with an unparseable date or amount are reported and counted rather than dropped silently — a converter that shows no warnings and fewer rows than you expected is the one to distrust.

Once the data is in Excel

Build a pivot table

Select the table, Insert → PivotTable, then Payee as rows and Amount as values. Two clicks to see where the money actually went, which is usually the reason for the conversion.

Use the Category column

Transactions are categorised on your device as part of the conversion. Sort or filter by it to split business from personal, or sanity-check a month before it reaches your books.

Reconcile against your records

The Balance column carries the bank's own running balance. If it doesn't move by the Amount on every row, something upstream is wrong — a genuinely useful check that almost nobody uses.

Import into accounting software

QuickBooks, Xero, Wave and FreshBooks all take CSV. To skip column mapping, convert to native QBO or OFX instead and import that.

Frequently asked questions

Why won't Excel open my QFX file?
A QFX file isn't a spreadsheet. It's Quicken's Web Connect format, built on Open Financial Exchange — SGML-style markup rather than rows and columns. Excel has no importer for it, so double-clicking either does nothing or drops you into a wizard that can't make sense of the tags.
Can I convert QFX to Excel for free?
Yes. Drop the file into the converter on this page and download an .xlsx workbook. No signup, no upload — the conversion runs in your browser, so the file never leaves your device.
Do I need Quicken installed to open a QFX file?
No. QFX is just a text file with a Quicken-specific header. You can read it in any text editor, and the converter here reads it without Quicken being involved at all.
What's the difference between QFX and OFX?
QFX is OFX with Quicken's own header fields added — most visibly an INTU.BID identifying the bank to Quicken. The transaction structure underneath is identical, which is why one reader handles both.
Why are my dates showing as 20250601120000?
That's the raw DTPOSTED field — YYYYMMDD followed by a time and sometimes a timezone marker like [0:GMT]. Only the date portion matters for bookkeeping, so this converter strips the rest.
My file has two accounts in it. What happens?
They're kept separate. A bank download often bundles a current account and a credit card, each as its own statement section. Every transaction is tagged with its account, and the Excel export puts each account on its own sheet.
What if my bank only gave me a PDF?
Then you don't have a QFX file, and no format converter will help. You need a statement parser that reads the PDF's layout — see the PDF section on this page.

How BalanceExtract compares

Honest side-by-side write-ups, including where each of them is the better choice.

Other converters