OFX to CSV Converter: Convert OFX and QFX Files to CSV and Excel

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.

Parses in your browser, nothing is uploaded
Reads .ofx, .qfx and .qbo
CSV download or paste into Excel

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.

Have a PDF statement instead of a data file? The bank statement converter reads PDFs and writes XLSX, CSV, OFX, QFX, QBO and QIF.

How do I convert an OFX file to CSV?

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.

Why OFX and QFX Files Resist Excel

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.

Excel Has No OFX Importer

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.

Unclosed Tags Break XML Tools

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.

The Extension Hides the Format

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.

Timestamps Instead of Dates

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.

Quicken Will Not Give the File Back

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.

The File Contains Everything About You

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.

How This OFX to CSV Converter Works

It reads the OFX tag structure locally, pulls each statement transaction out of its block, and writes the fields into named spreadsheet columns.

Nothing Is Uploaded

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.

Handles SGML and XML OFX

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.

Real Columns, Real Dates

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.

One Parser for Three Extensions

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.

Keeps the Transaction ID

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.

Download or Paste

Save a UTF-8 CSV, or copy tab-separated rows and paste them straight into a worksheet you already have open.

Convert an OFX or QFX File to CSV in 3 Steps

No install, no license, no upload.

1

Locate the File

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.

2

Pick It in the Converter

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.

3

Download or Copy

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.

Who Converts OFX and QFX Files to CSV

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.

People Leaving Quicken

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.

Customers of Web Connect Only Banks

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.

Budget and Cash Flow Modelers

Pivot tables, category rollups, and runway models all need one transaction per row, which is exactly what an OFX file will not give you.

Accountants Given the Wrong File

A client sends the file their bank offered rather than a statement. Converting it beats installing finance software just to read it.

Common Search Terms

ofx to csv ofx to csv converter convert ofx to csv convert ofx to excel qfx to csv qfx to csv converter convert qfx to excel

Transaction Types We Handle

Debit card purchases
ACH transfers
Checks paid
Direct deposits
Wire transfers
ATM withdrawals
Bank fees
Interest credited

OFX, QFX and QBO: the same file in three costumes

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.

ExtensionMeant forWhat is different inside
.ofxAny program that reads OFX, including GnuCash and MoneydancePlain Open Financial Exchange, no vendor tags
.qfxQuicken, through Web ConnectAdds Intuit tags identifying the issuing institution
.qboQuickBooks, through Web ConnectAdds 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.

What a transaction looks like inside the file

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.

TagMeaning
TRNTYPEType of transaction. Common values are DEBIT, CREDIT, CHECK, ATM, POS, XFER, FEE, INT, DEP, DIRECTDEP, PAYMENT and SRVCHG.
DTPOSTEDPosting date as eight digits, YYYYMMDD, often followed by a time and a bracketed timezone offset.
TRNAMTSigned amount. Money leaving the account is negative, money arriving is positive, with a period as the decimal separator.
FITIDThe bank's unique identifier for this transaction. Finance software uses it to avoid importing the same line twice.
NAMEPayee or merchant, frequently truncated to 32 characters by the bank.
MEMOAdditional description, which is often where the rest of a truncated payee ends up.
CHECKNUMCheck number, present only when the transaction is a check.
BANKACCTFROMSource account block holding the routing number (BANKID), account number (ACCTID) and type (ACCTTYPE). Credit cards use CCACCTFROM instead.
LEDGERBALClosing 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.

Why the XML import route fails

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.

Why more people are converting these files in 2026

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.

Checking the conversion before you trust it

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.

Where these files come from, and what to do when you have none

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.

Other bank file types this does not cover

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.

Why Convert an OFX File Here

0
bytes uploaded, it runs in your browser
3
extensions read: OFX, QFX and QBO
Both
OFX 1.x SGML and 2.x XML supported

Security & Privacy

  • The file is parsed locally and never transmitted
  • No sign in and no account needed
  • Routing and account numbers never leave your machine
  • Works offline once the page has loaded

OFX and QFX to CSV: Common Questions

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.

Related Resources

Other Bank Statement Converters

ICICI Bank JPMorgan Chase Bank of America Citigroup Wells Fargo Goldman Sachs Morgan Stanley U.S. Bancorp PNC Financial Services Truist Capital One TD Bank Charles Schwab Fidelity Vanguard E*TRADE TD Ameritrade Bank of New York Mellon State Street BMO USA Ally Financial Regions Fifth Third Bank Huntington KeyBank Citizens Financial Group First Citizens Synchrony Financial M&T Bank First Horizon Cathay Bank USAA Navy Federal Comerica Zions Bank East West Bank First National of Nebraska Frost Bank BOK Financial Fulton Financial Associated Banc-Corp Valley National Wintrust Financial First Midwest Bancorp Commerce Bancshares UMB Financial Pinnacle Bank Webster Bank Cadence Bank Old National First Interstate BancSystem Umpqua Bank First Hawaiian Bank Prosperity Bank SouthState First Merchants First Bank Holding Glacier Bank First Financial Bancorp Independent Bank Columbia Banking System Western Alliance Pacific Premier Bancorp Bank OZK United Community Banks Customers Bank Texas Capital SVB Financial Group Signature Bank First Republic Bank New York Community Bancorp Sterling Bancorp First Bank Bank United First Commonwealth Financial Flagstar Bank Synovus Bank Santander Bank Commonwealth Bank (CommBank) ANZ Bank Westpac NAB ServisFirst Bancshares Renasant Corporation Simmons First National Trustmark Corporation First Busey Community Bank System First Mid Bancshares Ameris Bancorp Hancock Whitney First BanCorp Third Coast Bancshares Home Bancshares Byline Bancorp Simmons Bank United Bankshares Peoples United Financial American Express HSBC Bank USA

From the same family of tools