OFX & QIF statement converter
Local-Only Statement Parsing & Balance Reconciliation
Financial statement conversion happens entirely inside your browser. No files, transaction records, bank names, or balance amounts are uploaded or shared. Supports OFX (1.x SGML, 2.x XML) and QIF banking, card, and investment statements.
Note: OFX and QIF files contain structured records. Visual bank letterhead logos and marketing attachments are not part of standard interchange specifications and will not appear in the tabular spreadsheet export.
Select OFX or QIF Statement File
Drop your OFX or QIF statement here, or browse
Supports .ofx, .qif, .qfx files up to 50 MB. 100% private in-browser parsing.
About this OFX and QIF statement converter
Select or drop an OFX (.ofx, .qfx, .sgml, .xml) or QIF (.qif) financial statement file up to 50 MB. The browser engine parses banking, credit card, and investment transactions completely in memory, checks opening and closing balance arithmetic, highlights reconciliation discrepancies, and exports clean CSV or native Excel (.xlsx) spreadsheets.
Bank and credit card statements exported in Open Financial Exchange (OFX) or Quicken Interchange Format (QIF) contain structured financial history needed for bookkeeping, tax preparation, audit trails, and expense analysis. Standard desktop accounting applications often enforce proprietary subscription paywalls or require routing personal ledger data through third-party cloud aggregators. This tool provides an offline-capable, in-browser parser that reads SGML and XML OFX variants alongside multi-account QIF files, validates transaction consistency through exact decimal arithmetic, and emits structured tabular files without transmitting a single byte over the network.
Step by step
- 1Select or drop your statement fileChoose an OFX, QFX, or QIF statement file up to 50 MB. The document is decoded in memory using standard character decoders without transmitting bytes across the network.
- 2Review parsed accounts and transactionsInspect detected accounts, statement date ranges, transaction payees, memos, reference numbers, and split categories in the searchable interactive preview table.
- 3Verify balance reconciliationExamine the balance reconciliation card. The engine calculates opening balance plus credits minus debits using exact BigInt decimal scaling and flags any mathematical discrepancies against the reported closing balance.
- 4Export to CSV or ExcelClick Download CSV or Download Excel (.xlsx) to save structured transaction data formatted with standard column headers ready for spreadsheet modeling or accounting import.
Differences between OFX 1.x, OFX 2.x, and QIF formats
Financial institutions publish records in three distinct syntax families. OFX 1.x files are based on SGML and feature custom header blocks (such as OFXHEADER:100, DATA:OFXSGML, and ENCODING:USASCII) followed by unclosed leaf tags like <TRNAMT>-125.50 and <NAME>Utility payment without corresponding closing tags. OFX 2.x files replace SGML with strict XML syntax, carrying standard XML declarations and properly closed element hierarchies. QIF files date back to early personal finance software, organizing transactions with single-character line prefixes such as D for date, T for amount, P for payee, M for memo, and ^ as record delimiters. The parsing engine inspects the initial byte sequences to distinguish SGML, XML, and QIF structures automatically without relying on file extensions.
Deterministic balance reconciliation and discrepancy auditing
A key failure mode in statement translation is silent floating-point drift: binary 64-bit floating point math cannot accurately represent base-10 currency cents without rounding artifacts. This tool converts all financial amounts into exact coefficient and scale BigInt representations during calculation. When both opening and closing balances are present in the statement metadata, the engine checks whether opening balance plus the sum of all transaction credits and debits equals the reported closing balance to the exact cent. If bank adjustments, pending holds, or missing statement pages introduce a deviation, a high-visibility alert displays the exact numerical discrepancy so you can resolve records before importing them into accounting software.
Zero upload security and banking privacy guarantee
Every response from this site is served with a Content Security Policy whose connect-src directive is set to none. That is not a promise in marketing copy; it is an instruction to your browser, and the browser is the one enforcing it. While this page is open it cannot open a connection to anywhere — not to this site, not to anyone else — so there is no path by which your document could be uploaded, not by a bug, not by a future change, not by a script that should not be here. e2e/egress-proof.spec.ts asserts the served header and then tries to send data out by every route a page has and requires each attempt to be refused, and it runs on every build.
The second half of the guarantee is that the code has nowhere to send anything from. lib/tools/local-source-policy.test.ts reads every source file under lib/tools, workers, components and app on every test run and fails the build if any of them contains fetch, XMLHttpRequest, WebSocket, EventSource, sendBeacon or a peer connection, or even a remote address written down in a comment. A tool here cannot acquire an upload by accident, because the file that would have to contain one cannot be committed.
Client-side processing limits
Computations run directly on your own device using WebAssembly, Web Workers, and modern browser APIs including Web Crypto and TextDecoder. There are no server queues, no background telemetry, and no temporary cloud files created. Large operations remain responsive by offloading heavy parsing and conversion tasks to dedicated worker threads, ensuring the browser UI never freezes during intensive document and data processing tasks.
Questions people ask
- Which statement file extensions and formats are supported?
- This tool accepts OFX 1.02–1.60 SGML files, OFX 2.00–2.20 XML files, Quicken Financial Exchange (.qfx) files, and standard Quicken Interchange Format (.qif) exports up to 50 MB.
- Are bank account numbers or financial figures sent to any server?
- No. All decoding, XML parsing, reconciliation arithmetic, and spreadsheet formatting execute entirely inside your local browser tab. The page is protected by a Content Security Policy with connect-src none that blocks outbound network connections.
- How are multi-currency and multi-account files handled?
- When a file contains multiple bank or credit card accounts, an account selector dropdown appears above the overview cards. You can filter transactions by specific account or view combined statements with respective currency tags.
- What happens if a statement does not provide an opening balance?
- Certain bank exports provide only a closing balance or list transactions without opening anchors. In this scenario, the tool computes total inflows, total outflows, and net transaction sums, reporting that opening balance was omitted while keeping all records accessible for export.
- Will visual bank logos, check scans, or letterhead appear in the export?
- No. OFX and QIF are raw data-interchange formats designed for financial numbers and metadata. They do not store graphic logos, page layout fonts, or check image scans.