Convert bank statements to OFX
Open Financial Exchange is the interchange format that desktop and small-business accounting tools have shared since the late 1990s. This converter writes OFX 2.2 (XML) with a bank or credit card statement response, a ledger balance and one statement transaction per row extracted from your PDF.
- Scanned
- Password-protected
Drop a PDF statement here
or
Choose file- OFX version
- 2.2 (XML)
- FITIDs
- Deterministic
- Currency
- From statement
No card required. Originals deleted after 24 hours.
What the OFX file contains
An OFX 2.2 XML document with a sign-on block, a bank or credit card statement response, the account it belongs to, the statement period, one STMTTRN per transaction and a ledger balance with the closing figure.
<?xml version="1.0" encoding="UTF-8"?>
<?OFX OFXHEADER="200" VERSION="220" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
<OFX>
<SIGNONMSGSRSV1>…</SIGNONMSGSRSV1>
<BANKMSGSRSV1>
<STMTTRNRS>
<STMTRS>
<CURDEF>USD</CURDEF>
<BANKACCTFROM><BANKID>000000000</BANKID><ACCTID>****2210</ACCTID><ACCTTYPE>CHECKING</ACCTTYPE></BANKACCTFROM>
<BANKTRANLIST><DTSTART>20260801120000[0:GMT]</DTSTART><DTEND>20260831120000[0:GMT]</DTEND>
<STMTTRN>…</STMTTRN>
</BANKTRANLIST>
<LEDGERBAL><BALAMT>9300.63</BALAMT><DTASOF>20260831120000[0:GMT]</DTASOF></LEDGERBAL>
</STMTRS>
</STMTTRNRS>
</BANKMSGSRSV1>
</OFX>The FITID is a hash of the basis columns, so re-running the conversion, or converting a corrected PDF of the same statement, yields identical ids.
Why convert bank statements to OFX here
Stable transaction ids
The FITID for a row depends only on the account, date, amount, normalised description and ordinal, so every run produces identical ids and importers never see the same transaction twice.
Correct signs
Money in is positive, money out is negative. Credit card statements use the liability convention: charges negative, payments positive.
Names and memos within limits
NAME is capped at 32 characters and MEMO at 255, per the OFX A-32 and A-255 limits, and the full description always survives in MEMO.
Any bank, any country
Dates in any regional format are normalised to OFX timestamps at noon GMT, and CURDEF is taken from the statement. Amounts are never converted between currencies.
Validated before release
The exporter parses its own output with a tolerant reader that also understands SGML 1.x, and compares every amount and FITID with the extracted data.
Reconciled and deleted
Balances are checked against the printed opening and closing figures before you download. Originals are deleted 24 hours after processing; exports and extracted transactions 7 days after conversion; Delete now removes everything immediately.
How to convert a bank statement to OFX
- 1
Upload your statement
Drop a PDF into the converter above. Text and scanned files are accepted on every plan, password-protected PDFs from Starter, and you see the page count before anything else happens.
- 2
Choose OFX
Select OFX as the output. If your importer needs a real routing number rather than the placeholder BANKID, enter it in the export options.
- 3
Review the result
The extracted rows are shown next to the original page. Flagged rows carry a reason; click any row to see where it came from and edit, merge or split it.
- 4
Download and import
Download the .ofx file and import it into Quicken, GnuCash, Xero, Sage or any other OFX reader. Exports are regenerated whenever you edit.
OFX technical notes
The conventions this exporter follows, so you can predict how your importer will treat the file before you open it.
Document structure
OFXHEADER 200 · VERSION 220 · SIGNONMSGSRSV1 + BANKMSGSRSV1 (or CREDITCARDMSGSRSV1)
What is an OFX file?BANKID placeholder
000000000 when no routing number or sort code is printed · fails the routing checksum, never impersonates a bank
Timestamps
YYYYMMDD120000[0:GMT] · DTSTART and DTEND set to the statement period · DTASOF on LEDGERBAL
OFX, QFX and QBO
QFX adds Intuit identifiers for Quicken · QBO is the QuickBooks variant on OFX 1.02
What is a QFX file?Bank statement to OFX: questions
Which OFX version do you produce?
What is the difference between OFX and QBO?
Why is BANKID 000000000?
How are duplicate imports prevented?
Can I edit a transaction before exporting?
Is OFX available on the free plan?
Convert your bank statement to OFX now.
Free plan: 25 pages a month, no card required.
Convert to OFX