An OFX or QFX file is your bank data written for finance software, not for a spreadsheet. Pick the file in the box on this page and every transaction comes back as rows: date, description, memo, type, check number, amount. It parses in your browser tab, so the file stays on your computer and you do not need Quicken or QuickBooks to read it.
Last updated July 2026
OFX and QFX to CSV converter
Pick a file and get a spreadsheet. Nothing is uploaded: the conversion happens in this browser tab.
| Date | Description | Type | Amount |
|---|
Preview shows the first 25 transactions. The download and the copy include every row.
Have a PDF statement instead of a data file? The bank statement converter reads PDFs and writes XLSX, CSV, OFX, QFX, QBO and QIF.
To convert an OFX file to CSV, run it through a parser that understands Open Financial Exchange markup and writes each transaction to a row. The file is plain text and already holds everything you need: every transaction sits in a STMTTRN block with a posting date, a signed amount, a payee name, an optional memo, and a unique ID. The converter on this page does that in your browser and hands back a CSV. The same converter reads .qfx, because a QFX is an OFX file with a few extra Intuit tags.
These formats were designed so a bank server and a desktop finance program could agree on a transaction. Nobody expected a person to read one, and it shows.
There is no Open OFX command anywhere in Excel or Google Sheets. Open one as text and every tag lands in a single column, one line per tag, with the amounts scattered among them.
OFX 1.x is SGML: leaf elements open and never close, so an amount is written as a tag followed by a number and nothing else. Power Query and generic XML converters treat that as malformed and refuse the file.
A .qfx, a .qbo, and a .ofx are the same markup with different branding. People try three different tools before realizing one parser handles all of them.
Posting dates arrive as a run of digits with an optional bracketed timezone. Dropped into a sheet they sort as numbers, so months and quarters come out wrong.
Once a QFX has been imported, Quicken has no way to re-export it. Quicken for Mac can export register transactions to CSV, but Quicken for Windows has no register CSV export at all, only QIF, QXF, and reports sent to Excel.
Account number, routing number, balances, and every payee are in there in readable text. Uploading that to an unfamiliar converter site is a genuine disclosure of financial data.
It reads the OFX tag structure locally, pulls each statement transaction out of its block, and writes the fields into named spreadsheet columns.
The browser reads the file with its own file reader and the parsing runs in JavaScript on your machine. No server sees the file, no copy is stored, and no account is required.
It reads the unclosed-tag OFX 1.x that almost every US bank issues as well as the well-formed OFX 2.x, so it does not matter which version your bank sent.
Date, description, memo, type, check number, amount, and transaction ID each get a column, and the OFX timestamp is rewritten as MM/DD/YYYY so it sorts properly.
Point it at a .ofx from your bank, a .qfx meant for Quicken, or a .qbo meant for QuickBooks. All three are OFX underneath and all three come out as the same clean rows.
The FITID field comes through in its own column, which is what lets you merge overlapping downloads and delete exact duplicates instead of guessing from date and amount.
Save a UTF-8 CSV, or copy tab-separated rows and paste them straight into a worksheet you already have open.
No install, no license, no upload.
Look in Downloads for the file your bank produced, usually named for the account and dated, ending in .ofx or .qfx.
Tip: A .qbo from a QuickBooks download works too.
Choose the file in the box at the top of this page. A transaction count and a preview of the rows appear immediately.
Tip: Check the count against your statement before downloading.
Save the CSV for Excel, Sheets, or Numbers, or copy the rows and paste them into an existing sheet.
Tip: The CSV is UTF-8 with a header row.
The people who end up with one of these files almost always downloaded it for a finance program and then needed the numbers somewhere that program cannot reach.
Years of QFX downloads are useless in a spreadsheet until they are rows. Converting them is how you keep the history when the software goes.
Some banks and credit unions publish an OFX or QFX download and nothing else, so converting it is the only way to reach a CSV.
Pivot tables, category rollups, and runway models all need one transaction per row, which is exactly what an OFX file will not give you.
A client sends the file their bank offered rather than a statement. Converting it beats installing finance software just to read it.
Open Financial Exchange was built in the late 1990s by Intuit, Microsoft, and CheckFree as a common language for a bank server and a finance program to exchange transactions. It is still what sits behind the download buttons in US online banking, but it now reaches you under three extensions, and the difference between them is smaller than the file names suggest.
| Extension | Meant for | What is different inside |
|---|---|---|
| .ofx | Any program that reads OFX, including GnuCash and Moneydance | Plain Open Financial Exchange, no vendor tags |
| .qfx | Quicken, through Web Connect | Adds Intuit tags identifying the issuing institution |
| .qbo | QuickBooks, through Web Connect | Adds INTU.BID, the bank identifier QuickBooks checks |
This is why renaming rarely works in the direction people try it. Taking a plain .ofx and calling it .qfx usually gets rejected, because the program looks for the vendor tags it expects and does not find them. Going toward a spreadsheet, though, the differences are irrelevant: a converter that reads the transaction tags handles all three, which is what the tool at the top of this page does.
Open a copy in a text editor and you will find a header, an account block, then a run of transaction blocks. Each one carries the fields below, and each field becomes a column in the CSV.
| Tag | Meaning |
|---|---|
| TRNTYPE | Type of transaction. Common values are DEBIT, CREDIT, CHECK, ATM, POS, XFER, FEE, INT, DEP, DIRECTDEP, PAYMENT and SRVCHG. |
| DTPOSTED | Posting date as eight digits, YYYYMMDD, often followed by a time and a bracketed timezone offset. |
| TRNAMT | Signed amount. Money leaving the account is negative, money arriving is positive, with a period as the decimal separator. |
| FITID | The bank's unique identifier for this transaction. Finance software uses it to avoid importing the same line twice. |
| NAME | Payee or merchant, frequently truncated to 32 characters by the bank. |
| MEMO | Additional description, which is often where the rest of a truncated payee ends up. |
| CHECKNUM | Check number, present only when the transaction is a check. |
| BANKACCTFROM | Source account block holding the routing number (BANKID), account number (ACCTID) and type (ACCTTYPE). Credit cards use CCACCTFROM instead. |
| LEDGERBAL | Closing ledger balance and the date it was taken, useful for checking your converted rows tie out. |
Because NAME is capped short by many banks, do not throw the memo column away. On card transactions especially, the merchant you are looking for is frequently split across the two fields.
The most common suggestion online is to rename the file to .xml and let Excel Power Query read it. That fails on nearly every file a US bank issues, and the reason is structural rather than a bug you can work around. OFX 1.x is SGML, and SGML permits leaf elements to open without a matching close. The file genuinely contains an amount tag followed by the number and then the next tag, with no closing tag in between. XML forbids that, so the parser stops at the first leaf element.
OFX 2.x is real XML and does import that way, but it is much rarer in US retail banking downloads. Rather than checking which version you have, use a parser written for OFX. It reads both shapes because it looks for the tags themselves instead of relying on a well-formed document tree.
The bank connection layer these formats belong to is being dismantled, and that is pushing OFX and QFX files out of the automated pipeline and onto people's desktops.
Direct Connect, the service that let Quicken and QuickBooks Desktop pull transactions straight from a bank, is being retired across the industry. Amegy Bank, for example, publishes a hard cutoff: no new Direct Connect enrollments after April 30, 2026, and the service ends October 30, 2026. The bank attributes it to changes announced by Intuit, which supplies the connectivity, and notes that Direct Connect only works with desktop accounting software that is itself being retired. Its recommended fallback is the manual Web Connect download, which is exactly the .qfx or .qbo file this page converts.
On the software side, Intuit's discontinuation policy retires QuickBooks Desktop 2023 after May 31, 2026, after which those versions lose access to Intuit services including online bank feeds. Bank of America has already moved Quicken customers onto a newer connection method, Express Web Connect Plus, rather than the older OFX route.
The practical effect is the same in every case: automated syncing gets narrower, manual file downloads become the reliable path, and anyone with an archive of old QFX or OFX files needs a way to read them that does not depend on a subscription still being active. That last point matters more than it sounds. Quicken shows an unable-to-verify error on a previously downloaded QFX when the subscription has lapsed, so files you created yourself can become unreadable by the software that made them. Converting them to CSV puts the data somewhere that cannot expire.
Two quick checks catch almost every problem. First, compare the transaction count the converter reports against the number of lines on your statement for the same period; if the file covered a date range you did not expect, this is where it shows up. Second, sum the amount column and compare the result against the change in balance across the period. If the file included a LEDGERBAL, opening balance plus the sum of your amounts should land on it. When it does not, the usual cause is an overlapping download adding duplicate rows, which is exactly what the transaction ID column is there to fix: sort by it, and remove repeats.
Most people arrive with an OFX or QFX because it was the only download their bank offered, or because they are unpicking years of Quicken history. If your bank gives you nothing but a PDF statement, the conversion runs the other way and needs a different tool: the PDF bank statement to CSV converter and the PDF bank statement to Excel converter read the statement itself, and the main bank statement converter handles any US bank or credit union from one upload. Going into software rather than out of it, the bank statement OFX converter writes an OFX from a PDF, and the Quicken bank statement converter covers the QFX, QIF and CSV routes Quicken actually accepts.
OFX is the retail format. Corporate and treasury banking uses a different set, and each has its own reader here: the BAI to Excel converter for BAI2 balance reporting, the MT940 to Excel converter for SWIFT statements including MT942, the camt.053 to Excel converter for ISO 20022 XML, and the NACHA file to Excel converter for ACH payment files. If you are holding a QuickBooks Web Connect download specifically, the QBO to CSV converter is the same tool with the QuickBooks details spelled out. The bank file format converter compares all of them if you are not sure what you have. Once the rows are in a sheet, categorizing the transactions and reconciling against the statement are the usual next steps, and for a spreadsheet that needs to become a QuickBooks Desktop import, a CSV to QBO converter closes the loop.
Pick the .ofx file in the converter at the top of this page and download the CSV. It reads each STMTTRN block in the file and writes date, description, memo, type, check number, amount, and transaction ID into columns. The parsing happens in your browser, so nothing is uploaded and no finance software is needed.
Excel has no OFX importer, so opening the file directly gives you one column of tags. Convert it to CSV first and Excel opens it as normal columns. Renaming the file to .xml and using Power Query fails on most bank files, because OFX 1.x leaves its leaf tags unclosed and XML parsers reject that.
A QFX is an OFX file with extra Intuit tags identifying the issuing institution, produced for Quicken through Web Connect. The transaction data is identical, which is why the same converter reads both. The extra tags are also why renaming a plain .ofx to .qfx normally gets rejected by Quicken.
Use the converter above, which reads .qfx the same way it reads .ofx, then open the downloaded CSV in Excel or use the copy button to paste the rows straight into a worksheet. You do not need Quicken installed, and the file is not uploaded anywhere during the conversion.
It depends which Quicken you run. Quicken Classic for Mac has a real register export under File, then Export, then Register Transactions to CSV File. Quicken for Windows has no register CSV export: it offers QIF, QXF, and sending a report to Excel. Neither version can re-export a QFX file you imported earlier.
Because there are no delimiters in it. An OFX file is a nested tag document, not a table, so a text import puts each line in a single column with no way to split it. The tags have to be parsed into fields first, which is what an OFX-aware converter does.
An OFX file contains your routing number, account number, balances, and every payee in readable text, so uploading one to an unknown site is a genuine disclosure. Prefer a converter that parses locally. The one on this page never transmits the file, and you can confirm that by disconnecting from the network and converting anyway.
Yes. Convert each file, then stack the CSVs in one sheet and sort by the transaction ID column. Because FITID is unique per transaction at the bank, identical IDs mean the same transaction appeared in two downloads, so removing repeats leaves a clean merged history with no duplicates.
The same converter with the QuickBooks details.
Going the other way: turn a PDF statement into OFX.
Convert a PDF statement straight to CSV.
Compare BAI2, MT940, camt.053 and OFX.
From the same family of tools
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 |