Back to all posts
What Is an OFX File? Format, Uses, and Converters

What Is an OFX File? Format, Uses, and Converters

Published on July 11, 2026 by CapyParse Team

Sooner or later, anyone who downloads transaction data from a bank runs into a file ending in .ofx. Double-click it and nothing useful happens: Excel refuses to lay it out in rows, and your operating system may not even know which program to suggest. This guide explains what an OFX file actually is, how the format works under the hood, how it relates to QFX and QBO, and the fastest ways to open or convert one.

Quick Summary

  • OFX stands for Open Financial Exchange: the standard format banks use to package account and transaction data for accounting software.
  • Two flavors exist: OFX 1.x (SGML, no closing tags on data fields) and OFX 2.x (XML). Both carry the same information.
  • Excel cannot open OFX directly. Peek inside with a text editor, or turn it into a spreadsheet with the free OFX to CSV converter.

OFX, Defined

OFX stands for Open Financial Exchange. It is a structured, plain-text format for moving financial data (transactions, balances, account details) between banks and the software that needs to read them. The standard was created in 1997 by Microsoft, Intuit, and CheckFree, who merged their competing formats into a single specification so that any bank could talk to any personal finance program without a custom integration. Before OFX, every bank and software pairing needed its own export format, which meant most pairings simply did not work together at all.

OFX was designed to do two jobs. The first is the one most people meet: a downloadable file format. When your bank's statement page offers a "Download" menu with options like OFX, QFX, or QBO, each choice produces a file built on the OFX specification. The second job is a direct-connect protocol: programs like Quicken and the old Microsoft Money used OFX over the wire to fetch transactions from the bank automatically, without any manual downloads.

The specification evolved through the 2000s and 2010s under an industry consortium, and in 2019 stewardship of the OFX standard passed to the Financial Data Exchange (FDX), the body that now promotes API-based bank data sharing. FDX continues to maintain OFX, which is why the format still works today even as newer connection methods emerge.

Where You Will Encounter OFX Files

  • Bank download pages: Many banks list OFX (sometimes labeled "Money" or "Other financial software") alongside CSV and PDF in their export menus.
  • Accounting software migrations: Moving transaction history between tools like GnuCash, Xero, Quicken, or QuickBooks often goes through an OFX export and import.
  • Microsoft Money era archives: Money leaned heavily on OFX, so old backup folders from that era are often full of .ofx files containing years of transaction history.

OFX 1.x vs 2.x

There are two generations of the OFX format, and the difference trips up a lot of people (and a lot of parsers). The original versions, OFX 1.0 through 1.6, are based on SGML rather than XML. The file starts with a block of plain key and value header lines, and the data fields that hold a single value have no closing tags. That looks broken if you are used to XML, but it is valid SGML. A minimal OFX 1.x file looks like this:

OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII

<OFX>
<BANKMSGSRSV1>
<STMTTRNRS>
<STMTRS>
<CURDEF>USD
<BANKTRANLIST>
<STMTTRN>
<TRNTYPE>DEBIT
<DTPOSTED>20260709120000[0:GMT]
<TRNAMT>-42.50
<FITID>2026070900142
<NAME>COFFEE ROASTERS LLC
<MEMO>Card purchase
</STMTTRN>
</BANKTRANLIST>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>

Notice that container elements like STMTTRN close normally, but value fields like TRNAMT and FITID just run to the end of the line. Starting with OFX 2.0, the format switched to proper XML: the header became an XML declaration plus a processing instruction, and every tag must be closed. The same transaction in OFX 2.x looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE"
      OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
  <BANKMSGSRSV1>
    <STMTTRNRS>
      <STMTRS>
        <CURDEF>USD</CURDEF>
        <BANKTRANLIST>
          <STMTTRN>
            <TRNTYPE>DEBIT</TRNTYPE>
            <DTPOSTED>20260709120000</DTPOSTED>
            <TRNAMT>-42.50</TRNAMT>
            <FITID>2026070900142</FITID>
            <NAME>COFFEE ROASTERS LLC</NAME>
            <MEMO>Card purchase</MEMO>
          </STMTTRN>
        </BANKTRANLIST>
      </STMTRS>
    </STMTTRNRS>
  </BANKMSGSRSV1>
</OFX>

The field names and the overall structure are identical in both generations. In practice, many banks still generate OFX 1.x files (the header line VERSION:102 is a common sight), so any tool that claims OFX support needs to handle both the SGML and XML styles. Good converters, including CapyParse's free tools, read either one without complaint.

How to Tell Which Version You Have

Open the file in any text editor and look at the first line. If it starts with OFXHEADER:100, you have an OFX 1.x (SGML) file. If it starts with an XML declaration, you have OFX 2.x. Either way, the transaction data inside uses the same field names.

OFX vs QFX vs QBO

OFX has two well-known descendants, and both come from Intuit. QFX is Intuit's licensed flavor of OFX for Quicken (marketed as Web Connect for Quicken), and QBO is the flavor QuickBooks uses for its Web Connect import. Inside, both are OFX files with the same transaction structure you saw above, plus a handful of Intuit-specific fields (such as a bank identifier tied to Intuit's licensing program) that Quicken and QuickBooks check on import.

This family relationship has a practical consequence. If you are hunting for a QFX to OFX converter, the payload is usually already generic OFX: renaming the extension from .qfx to .ofx is often enough for software that reads plain OFX. Going the other direction (OFX to QFX, or either format to QBO) is harder, because Quicken and QuickBooks expect those Intuit-specific fields to be present and valid, so a simple rename frequently gets rejected. That direction genuinely needs a converter that rebuilds the file.

A useful rule of thumb: OFX is the open standard, QFX is OFX dressed for Quicken, and QBO is OFX dressed for QuickBooks. For a deeper look at how these formats compare with CSV, including a full feature table and import advice, see our guide QBO vs OFX vs CSV: Pick the Right Format.

Inside an OFX File

Every OFX statement file has the same skeleton: a signon block identifying the bank, an account block with the routing number, account number, and account type, and then a transaction list where each entry is wrapped in STMTTRN tags. The fields inside each transaction are where the real value lives:

Field What It Holds Example
FITID A unique transaction ID assigned by the bank. Import tools use it to detect and skip duplicates automatically. 2026070900142
DTPOSTED The posting date and time in YYYYMMDDHHMMSS form, optionally with a timezone suffix. Never ambiguous, unlike CSV dates. 20260709120000[0:GMT]
TRNAMT The signed amount. Negative means money out, positive means money in. -42.50
TRNTYPE A standardized transaction type code from the OFX specification. DEBIT, CREDIT, CHECK, ATM
NAME The payee or counterparty name as the bank recorded it. COFFEE ROASTERS LLC
MEMO A free-text note with extra detail, such as a card reference or location. Card purchase 07/09

Beyond the transaction list, an OFX statement also carries a currency code (CURDEF), the bank's routing and account numbers, the account type (checking, savings, or credit card), and a closing balance block with an as-of date. That context travels with the file, so importing software knows exactly which account the transactions belong to without you telling it.

Two of these fields explain why accountants prefer OFX over CSV when both are available. FITID gives every transaction a permanent identity, so importing the same file twice does not create duplicate entries. And DTPOSTED uses one fixed date layout, so there is no risk of software reading 05/04 as May 4 when the bank meant 5 April. CSV files carry neither guarantee.

How to Open an OFX File

Because OFX is plain text, any text editor can open it: Notepad on Windows, TextEdit on Mac, or an editor like VS Code. Right-click the file and choose "Open with" to pick the editor, since double-clicking often does nothing or launches whatever finance software happens to be installed. A text editor is the quickest way to confirm what is inside a mystery file, check the date range, or see which account it belongs to. It is not a practical way to work with the data, though, since hundreds of transactions wrapped in markup are painful to read line by line.

Excel does not work. Excel expects delimited rows or a spreadsheet format, and OFX is neither, so opening the file directly dumps raw tags into column A. If your goal is a proper spreadsheet, you need a conversion step first. We cover the full walkthrough (including what goes wrong and why) in How to Open an OFX File in Excel.

Accounting software imports OFX natively. QuickBooks Online, Xero, GnuCash, and most bookkeeping tools accept OFX uploads and map the fields automatically. The notable exception is Quicken, which insists on its licensed QFX variant. If you just want to see your transactions in rows and columns right now, the fastest route is the free browser-based converter below: it shows a preview instantly, with no install and no account.

How to Convert an OFX File

CapyParse offers two free tools for the most common conversion paths, and both run entirely in your browser. Your file is never uploaded to any server, there is no signup, and both tools read OFX 1.x (SGML), OFX 2.x (XML), and QFX files:

  • OFX to CSV: Use the free OFX to CSV converter to flatten the file into clean rows with date, description, amount, and type columns, ready for any spreadsheet or import tool.
  • OFX to Excel: Use the free OFX to Excel converter to get a native .xlsx workbook that opens directly in Excel with no import wizard.

Need to go the other way and build an OFX file from spreadsheet data? That takes a generator rather than a simple converter, because valid OFX needs FITIDs and correctly formatted dates. See How to Convert CSV to OFX for that workflow.

OFX vs CSV: An Honest Comparison

Neither format is simply better; they solve different problems. OFX carries unique transaction IDs, standardized type codes, unambiguous dates, and account metadata, which makes it the safer choice for importing into accounting software. CSV carries none of that, but it opens in every spreadsheet, script, and reporting tool on the planet, and it is trivially easy to filter, edit, and pivot. A sensible workflow keeps both: import the OFX into your accounting system so duplicate detection works, and keep a CSV copy for analysis and client reporting.

Converting Statements Every Month?

CapyParse turns PDF bank statements into CSV, Excel, or QBO files in seconds, with plans for individuals, bookkeepers, and accounting firms.

View CapyParse Pricing

10 free pages included to start.

When OFX Is Not an Option

OFX only helps when your bank actually offers it. Plenty of banks provide no OFX download at all, and even the ones that do usually limit it to a short recent window: the last 90 days, the current quarter, or whatever the online banking session exposes. Anything older lives in the statement archive, and statement archives are PDFs. The same is true for closed accounts, paper statements you have scanned, and documents a client emails you.

In those cases no OFX tool can help, because there is no OFX file to convert. What you need is a way to get the transactions off the PDF itself. That is exactly what the CapyParse bank statement converter does: upload a PDF statement (digital or scanned), review the extracted transactions in an interactive preview, and export CSV, Excel, or QBO. The end result is the same clean, import-ready data you would have gotten from an OFX download, even when the bank never offered one.

Frequently Asked Questions

What is an OFX file?

An OFX file is a plain-text financial data file that follows the Open Financial Exchange standard. Banks use it to package transactions, balances, and account details so that accounting and personal finance software can import them automatically. Each transaction inside carries a date, a signed amount, a type code, a payee name, and a unique FITID.

Can I open an OFX file in Excel?

Not directly. OFX is a markup format rather than a spreadsheet, so Excel will not lay the transactions out in rows and columns. Convert the file first with a free OFX to CSV or OFX to Excel converter, then open the result in Excel like any normal spreadsheet.

What is the difference between OFX, QFX, and QBO?

All three share the same underlying Open Financial Exchange structure. QFX is Intuit's licensed variant for Quicken, and QBO is the variant QuickBooks uses for Web Connect imports. QFX and QBO add a few Intuit-specific fields that Quicken and QuickBooks validate on import, which is why those two programs are picky about their own extensions while most other software happily reads plain OFX.

How do I convert an OFX file to CSV?

Use CapyParse's free OFX to CSV converter. It runs entirely in your browser, requires no signup, and your file is never uploaded to any server. It reads both OFX 1.x (SGML) and OFX 2.x (XML) files, accepts QFX files too, and can also export directly to Excel.

Is OFX still used by banks?

Yes. Many banks still offer OFX, QFX, or QBO downloads on their online banking pages, and archives from the Microsoft Money and early Quicken era are full of OFX files. Stewardship of the standard passed to the Financial Data Exchange (FDX) in 2019, and while the industry is gradually moving toward API-based connections, OFX files remain a common way to move transaction history between tools.

Get Your Transactions Into Any Format

Convert OFX files free in your browser, or upload a PDF bank statement and export clean CSV, Excel, or QBO files in seconds.

Convert a Bank Statement

View pricing for higher volumes.

Related Articles