A .qfx file is plain text you can read in any editor, but it is written for Quicken rather than for you. This page documents the header lines, the Intuit tags, and every transaction field, so you can read one yourself. When Quicken refuses the file, the converter above takes the statement PDF instead and gives you the transactions as Excel, CSV, QBO, or OFX.
Last updated August 2026
Upload your bank statement
Drop file here or click to upload
PDF, JPG, PNG, BMP, HEIC, TIFF, MT940
Uploading...
A QFX file is Intuit's proprietary version of the open OFX format, used by Quicken's Web Connect feature to import bank and credit card transactions. Structurally it is an OFX 1.x file: a short block of colon-separated header lines followed by SGML markup carrying a sign-on section, the account details, and one STMTTRN block per transaction. What makes it a .qfx rather than a .ofx is a pair of Intuit tags, INTU.BID and INTU.USERID, that identify the financial institution to Quicken. It is plain text, so you can open it in any text editor, and it converts cleanly to Excel or CSV because every field is already labeled.
The format is readable and well structured, which makes the friction surprising. Almost all of it comes from the licensing layer Intuit built on top of OFX rather than from the data itself.
Quicken only accepts a QFX file when the issuing institution has paid Intuit's Web Connect fee. Otherwise it refuses the file with "Quicken is currently unable to verify the financial institution information for this download," even though the transactions inside are perfectly valid.
The two formats share a structure, so the swap looks like it should be harmless. Quicken checks for the INTU.BID tag and the branding ID it carries, so a plain OFX file with the extension changed fails the same verification step.
There is no QFX importer in Excel or Google Sheets. Opening the file lands you in a wall of SGML tags, and the Text Import Wizard has no delimiter to work with because the values sit inside markup rather than between commas.
The same verification error appears when a Quicken subscription lapses, which locks users out of QFX files they already downloaded and saved. The file is fine; the software just stops reading it.
QuickBooks wants a .qbo, and the two are close enough that people try the wrong one first. Both are OFX with Intuit tags, but each product checks for its own branding and rejects the other.
A QFX file carries a single closing balance in the LEDGERBAL block, not a balance per line. Anyone reconciling from the file has to rebuild the running balance themselves once the rows are in a spreadsheet.
BankXLSX does not read or write .qfx files. What it does is skip the format problem entirely: upload the PDF statement the bank gives everyone, and get the same transactions as a spreadsheet or as a QBO or OFX file that does not depend on Intuit branding.
Every bank issues PDF statements, and they stay available for roughly seven years. No Web Connect licensing, no branding ID, no download window to fight.
Date, description, debit, credit, and balance land in their own columns, so the data is sortable and pivotable the moment it opens.
A QFX file carries only a closing balance. The converter reads the statement's own running balance and checks the extraction against it.
Need a ledger file rather than a spreadsheet? The same upload writes a QBO Web Connect file for QuickBooks or a plain OFX file for other finance apps.
OCR reads image-only and scanned PDFs, which is what older saved statements and paper scans usually are.
256-bit encryption on every upload, files you can delete whenever you want, and no reselling or sharing of your financial data.
Nothing to install, and no Web Connect licensing to depend on.
Drag the statement PDF into the box above. Scanned and image-only statements work, and several months in one file is fine.
Tip: Several files at once is fine.
The transactions appear as rows with dates, descriptions, and amounts, with the running balance carried across from the statement.
Tip: Compare the closing balance.
Pick XLSX or CSV to work in a spreadsheet, or QBO and OFX if the data needs to go into accounting software next.
Tip: QBO is the QuickBooks route.
QFX shows up wherever Quicken does, which in the US means long-running personal books, rental property owners, and the accountants who inherit those files at tax time.
Get a year of statements into a spreadsheet for Schedule E when the bank is not Web Connect licensed and Quicken refuses the download.
Work from the client's statement PDFs rather than chasing QFX files that only import on the client's own machine.
Rebuild history from statements when moving off Quicken, so the books survive the switch without a subscription to read them.
Standardize on the one file every bank and every client can produce, instead of a different download path per institution.
Open a .qfx and a .ofx side by side and they look almost identical. Both follow the OFX 1.x SGML specification, both start with the same colon-separated header lines, and both wrap each transaction in a STMTTRN block with the same date, amount, and ID tags. The difference is a financial-institution section carrying Intuit identifiers, which is what tells Quicken the file is meant for it and which bank it came from. Everything you know about reading an OFX file structure carries over directly.
That small addition is the whole licensing story. Intuit charges financial institutions a fee to issue Web Connect files, and Quicken enforces it by checking the identifiers before it imports anything. The data format is open; the permission to use it is not.
A QFX file opens with plain-text header lines before any markup. They declare the version and encoding, and Quicken reads them first. If this preamble is missing or malformed, the file is rejected before a single transaction is parsed.
| Header line | What it declares |
|---|---|
| OFXHEADER:100 | OFX header version |
| DATA:OFXSGML | The body is SGML, not XML |
| VERSION:102 | OFX message-set version; 102 and 103 are both common in QFX |
| SECURITY:NONE | No message-level security |
| ENCODING:USASCII | Character encoding |
| CHARSET:1252 | Code page for the character set |
| COMPRESSION:NONE | The body is not compressed |
| NEWFILEUID:NONE | File identifier, unused in most Web Connect downloads |
These two tags are the entire practical difference between a .ofx and a .qfx. They sit near the sign-on section, and Quicken checks them before it will accept the import.
| Tag | Meaning |
|---|---|
| <INTU.BID> | Intuit Branding ID: a number identifying the financial institution. Quicken checks it against its list of Web Connect banks, and a value it does not recognize triggers the verification error. |
| <INTU.USERID> | The user identifier at that institution, usually the online banking username. Often present but not always required for a plain Web Connect import. |
QuickBooks uses the same mechanism with its own branding values, which is why a QBO file and a QFX file are structurally siblings that still cannot be swapped for one another.
Every transaction is a STMTTRN block. These are the fields you will see, and the spreadsheet column each one becomes.
| Tag | Contents | Becomes |
|---|---|---|
| <TRNTYPE> | Transaction type code such as DEBIT or CREDIT | Type column |
| <DTPOSTED> | Posting date as YYYYMMDD, sometimes with a time and offset | Date column |
| <TRNAMT> | Signed amount, negative for money out | Amount column |
| <FITID> | Unique transaction ID assigned by the bank | Used for duplicate detection |
| <NAME> | Payee or short description, commonly capped around 32 characters | Description column |
| <MEMO> | Longer free-text detail the bank adds | Memo column |
| <CHECKNUM> | Check number, present only on check transactions | Check number column |
Around the transaction list sit a few blocks worth knowing: BANKACCTFROM holds the routing number, account number, and account type; DTSTART and DTEND give the statement period; and LEDGERBAL carries the closing balance with its own date. Those are the values to check a conversion against.
The OFX specification defines a fixed list of transaction types, and QFX uses the same set. Anything outside it is not valid OFX.
| Value | Meaning |
|---|---|
| CREDIT / DEBIT | Generic money in and money out |
| DEP / DIRECTDEP | Deposit, and a deposit arriving by direct deposit such as payroll |
| INT / DIV | Interest paid or charged, and a dividend |
| FEE / SRVCHG | A transaction fee, and a service charge |
| ATM / POS | ATM activity, and a point-of-sale card purchase |
| XFER | Transfer between accounts |
| CHECK | A check, normally paired with a CHECKNUM value |
| PAYMENT / DIRECTDEBIT | An electronic payment, and a debit pulled by the payee |
| REPEATPMT | A recurring scheduled payment |
| CASH / OTHER | A cash withdrawal, and anything the bank does not classify |
Which route makes sense depends on whether you want to read the file, use it in Quicken, or get the numbers into a spreadsheet.
| Goal | How | Watch out for |
|---|---|---|
| Just look inside it | Open it in Notepad, TextEdit, or any code editor. It is plain text. | Readable but tedious; one transaction spans several lines of markup. |
| Import into Quicken | In Quicken for Windows, File, then File Import, then Web Connect File. Then link it to an existing account or create one. | Fails if the bank is not Web Connect licensed or the subscription has lapsed. |
| Get it into Excel | Use a dedicated OFX or QFX converter, or start from the statement PDF instead. | Excel has no QFX importer and no delimiter to split the markup on. |
| Import into QuickBooks | Convert the QFX to a .qbo Web Connect file, then use the QuickBooks import. | QuickBooks checks for its own branding values, so a .qfx is not interchangeable. |
Four extensions, one family, and a lot of confusion about which one a given program wants. This is the short version.
| Format | Built for | Structure | Licensed? |
|---|---|---|---|
| QFX | Quicken Web Connect | OFX 1.x SGML plus INTU.BID and INTU.USERID | Yes, banks pay Intuit |
| QBO | QuickBooks Web Connect | The same OFX structure with QuickBooks branding values | Yes, banks pay Intuit |
| OFX | Any finance app that reads the open standard | SGML in 1.x, XML in 2.x | No, it is an open standard |
| QIF | Older Quicken imports and many other apps | Line-based field codes, not markup; carries categories | No |
The practical rule: match the file to the program. Quicken wants QFX, QuickBooks wants QBO, most other software takes OFX, and QIF is the fallback when you need categories to travel with the transactions. There is a fuller walkthrough in our comparison of OFX vs QFX vs QBO.
Four quick checks catch nearly every problem before it reaches a reconciliation.
Count the rows you ended up with against the number of STMTTRN blocks in the file, since a text editor search for STMTTRN gives you the exact figure. Compare the sum of the amount column plus the opening balance to the value in the LEDGERBAL block. Confirm the dates were read as dates rather than as the raw YYYYMMDD text, which is the most common issue after any OFX-family import. Finally, check that debits came through negative, because a file where every amount is positive will reconcile to the wrong balance without ever looking wrong.
Plenty of banks and nearly all credit unions never signed up for Web Connect, and closed accounts stop offering downloads entirely. At that point the QFX route is closed no matter what you do to the file, and the statement PDF is what you actually have. That PDF converts to a spreadsheet, or to a QBO or OFX file, neither of which depends on a Quicken subscription or an Intuit branding list to open.
To be clear about scope: BankXLSX reads statement PDFs and images, not .qfx files, and it exports Excel, CSV, QBO, and OFX rather than a native .qfx. If Quicken specifically is the destination, the Quicken bank statement converter page sets out which formats Quicken actually accepts and where each one falls short, and the step-by-step version lives in our guide to importing bank statements into Quicken. If a spreadsheet is the real destination, the PDF bank statement to Excel converter and the main bank statement converter take the same upload.
Working the other way round, from a spreadsheet into accounting software, a CSV to QBO converter turns exported rows into an importable Web Connect file, and for business PDFs that are not statements at all a general PDF to Excel converter handles reports and tables.
A QFX file is Intuit's proprietary version of the OFX format, used by Quicken's Web Connect feature to import bank and credit card transactions. It is plain text built from an OFX header block and SGML markup, with Intuit tags added that identify the financial institution to Quicken.
Any text editor opens it, because it is plain text. To use the data, either import it into Quicken through File, File Import, Web Connect File, or convert it to Excel or CSV so the transactions land in real columns you can sort and total.
QFX is OFX with Intuit identifiers added, chiefly INTU.BID, which names the financial institution. OFX is a free and open standard, while QFX exists to support a licensing fee banks pay Intuit. Quicken checks those identifiers, so it will not accept a plain OFX file.
No. Quicken validates the Intuit branding tags inside the file, not the extension, so a renamed OFX file fails with the same verification error. The tags have to be present and carry a branding ID Quicken recognizes for the import to succeed.
Excel cannot open one directly, so you need a converter that reads the OFX structure and maps each STMTTRN block to a row. BankXLSX works from the statement PDF rather than the .qfx, which reaches the same spreadsheet and also covers periods and accounts the QFX download never offered.
Quicken only imports QFX files from institutions that have paid Intuit's Web Connect fee, and it shows "Quicken is currently unable to verify the financial institution information for this download" when that check fails. The same message appears when a Quicken subscription has expired.
Not directly. QuickBooks reads QBO Web Connect files, which use the same OFX structure but carry QuickBooks branding values instead. Convert the QFX to a .qbo first, then import it through the QuickBooks bank feed rather than trying to load the .qfx as is.
It includes one closing balance in the LEDGERBAL block with its own date, not a balance on each transaction line. To reconcile, rebuild the running balance in the spreadsheet after converting, then check the final figure against LEDGERBAL.
The OFX side of the same file family.
The QuickBooks Web Connect sibling of QFX.
Convert to the open OFX standard instead.
QIF, when categories need to travel too.
Cancel anytime from your account settings · refund policy
Get started converting bank statements to spreadsheets.
USD
per month
billed as
$288 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 2,500 pages |
| Pro AI Best accuracy | 500 pages |
Scale statement conversion across your team with automation.
USD
per month
billed as
$888 yearly
Choose speed vs accuracy when extracting
| Base AI Faster | 10,000 pages |
| Pro AI Best accuracy | 2,000 pages |
Enterprise-grade bank statement conversion and controls.
USD
per month
billed as
$ yearly
Choose speed vs accuracy when extracting
| Base AI Faster | pages |
| Pro AI Best accuracy | pages |