QFX / OFX Validator
Drop any .qfx or .ofx file to instantly check its structure. Detects file format (SGML vs XML), validates required header fields, checks every transaction for mandatory tags, verifies date formats, flags duplicate FITIDs, and previews the first transactions. Nothing leaves your browser.
QFX / OFX File
Drop a .qfx or .ofx file here, or
Supports .qfx and .ofx files up to 50 MB
⛔
Wrong file type — only .qfx or .ofx files are supported. You dropped a file.
Validation Errors
Warnings
✓ Valid QFX / OFX
File & Account Info
Transaction Preview (first 5)
How It Works
1
Drop your QFX or OFX fileDrag it onto the drop zone or click "browse" to select it from your device. Both .qfx (Quicken) and .ofx (Open Financial Exchange) files are supported.
2
Structure analysisThe validator auto-detects the OFX format version (SGML 1.x vs XML 2.x), parses the header block, locates every STMTTRN transaction, and checks each one for required fields, valid date formats, and numeric amounts.
3
Review the reportGet a pass/fail result plus full stats: transaction count, date range, total credits and debits, account info, duplicate FITID count, and a live transaction preview.
What Gets Validated
- Format detection — identifies OFX SGML 1.x (plain-text header + tag soup) vs OFX/QFX XML 2.x and reports the version.
- Header fields — checks for required SGML header keys (
OFXHEADER,DATA,VERSION,CHARSET) or a valid XML declaration for v2 files. - OFX wrapper — verifies the
<OFX>block is present and non-empty. - Transaction fields — every
STMTTRNblock is checked for the four required fields:TRNTYPE,DTPOSTED,TRNAMT, andFITID. - Date format —
DTPOSTEDandDTSTART/DTENDvalues must follow OFX date format (YYYYMMDDorYYYYMMDDHHMMSS). - Amount validity —
TRNAMTmust be a parseable decimal number; non-numeric values are flagged. - TRNTYPE validity — checks that the transaction type is one of the 16 valid OFX values (CREDIT, DEBIT, DEP, INT, DIV, FEE, SRVCHG, ATM, POS, XFER, CHECK, PAYMENT, CASH, DIRECTDEP, DIRECTDEBIT, OTHER, etc.).
- Duplicate FITIDs — flags any repeated financial institution transaction IDs, which indicate duplicate records.
- Account info — extracts
BANKACCTFROMorCCACCTFROMdetails (bank ID, account ID, account type). - File statistics — reports transaction count, file size, date range, total credits, total debits, and net amount.
- Transaction preview — renders the first 5 transactions in a formatted table.
🔒 Privacy & Security
All validation is performed locally using the Web File API and the FileReader API. Your financial data — account numbers, transaction amounts, and institution details — is never sent to a server. Suitable for personal banking exports and sensitive financial records.
