Bank Statement PDF to OFX

OFX is the open standard dozens of finance apps read. Convert any statement into a clean .ofxthat loads into Xero, Sage, GnuCash, Banktivity and more — from a download or a scan. (Quicken needs QFX; QuickBooks needs QBO.)

No signup to tryWorks across OFX appsDuplicate-safeFree to start

Click to upload or drag and drop

Supported formats:

PDF
PNG
JPEG
TIFF

Up to 25MB · PDFOFX

Secure & Encrypted Conversion

All uploads are encrypted for your security

Trouble converting a file? Tell us — we fix issues fast. Report it

How it works

How to convert a bank statement PDF to OFX

1

Upload your statement

Upload the statement PDF from any bank — digital or scanned, no plugin needed.

2

AI reads every transaction

Dates, payees and amounts are pulled line by line, each tagged with a unique ID for clean re-imports.

3

Download an OFX file

A standards-compliant .ofx with a valid bank ID — the part most apps insist on before they'll import.

The output

What an OFX file actually looks like

OFX is an open XML/SGML format — note the bank-ID block apps require and the per-transaction FITIDs. Toggle from the run-together statement to the real file.

statement.ofx
Messy PDFClean .ofx
OFXHEADER:100
DATA:OFXSGML
VERSION:102

<OFX>
 <SIGNONMSGSRSV1><SONRS>
  <FI><ORG>TableSense.ai<FID>3000</FI>
 </SONRS></SIGNONMSGSRSV1>
 <BANKMSGSRSV1><STMTTRNRS><STMTRS>
  <CURDEF>USD
  <BANKACCTFROM><BANKID>121000248<ACCTID>****4821<ACCTTYPE>CHECKING</BANKACCTFROM>
  <BANKTRANLIST>
   <STMTTRN>
    <TRNTYPE>CREDIT
    <DTPOSTED>20240304
    <TRNAMT>980.00
    <FITID>20240304-1
    <NAME>Refund - Amazon
   </STMTTRN>
   <STMTTRN>
    <TRNTYPE>DEBIT
    <DTPOSTED>20240306
    <TRNAMT>-45.60
    <FITID>20240306-1
    <NAME>Trader Joe's
   </STMTTRN>
  </BANKTRANLIST>
 </STMTRS></STMTTRNRS></BANKMSGSRSV1>
</OFX>

Where it goes

Apps that import OFX

OFX is the open standard, so the same file works across personal-finance and accounting tools alike.

XeroSageGnuCashYNABBanktivityMoneyMoneyMoneydanceManagerOdooZipBooksMoneyWizAceMoney+ any OFX-ready app

OFX, QFX or QBO — pick the right one

They’re the same family, but the app decides. Quicken only takes its own QFX; QuickBooks only takes QBO. For everything else — Xero, Sage, GnuCash, Banktivity, MoneyMoney and more — plain OFX is the format you want.

Why an OFX import sometimes fails

The usual culprits are a malformed file or a missing full bank ID — a lot of apps reject an OFX that only carries the account number, and some silently 500 on a structural error. This export is written to the OFX spec with a valid bank-ID block and clean tags, so it clears the checks that trip up raw bank downloads.

Importing

Import your .ofx file

Same idea everywhere: find the file-import screen and point it at the .ofx.

Xero

Bank account → Manage account → Import a statement → upload the .ofx and confirm.

GnuCash, Banktivity & others

File → Import → Import OFX/QFX (GnuCash) or File → Import Transactions (Banktivity), then choose your .ofx and the account.

Your statements stay private. Uploads are encrypted, the .ofx is generated from the extracted transactions, your file isn’t kept longer than the job needs, and you can try it without an account.

Any bank

An OFX file from any bank's statement

From a US checking PDF to an international credit-card statement, the AI follows the document's own layout — so the OFX comes out valid no matter who issued it.

ChaseBank of AmericaWells FargoCitiCapital OneUS BankPNCHSBCBarclaysNatWestLloydsRBCTD BankHDFCICICISBIAxis BankANZCommonwealth BankDBS+ any bank worldwide

FAQ

Frequently asked questions

QWhich apps can import this OFX file?
A

Any app that reads OFX — Xero, Sage, GnuCash, Banktivity, MoneyMoney, Manager, Odoo and more. It's the open standard, so it isn't tied to one program.

QOFX, QFX or QBO — which one do I actually need?
A

Quicken needs QFX and QuickBooks needs QBO (their own variants). For everything else — Xero, Sage, GnuCash, Banktivity and the rest — plain OFX is the right choice.

QWill this import into Xero?
A

Yes. In Xero go to the bank account → Manage account → Import a statement, and upload the .ofx. Xero reads OFX directly alongside CSV and QFX.

QWhy do some OFX files fail to import?
A

Usually a malformed file or a missing full bank ID — many apps reject an OFX that only has the account number. This export is well-formed and includes a valid bank ID block, so it clears those checks.

QCould re-importing duplicate my transactions?
A

No. Each transaction carries a unique FITID, so apps that track it will skip duplicates if you re-import an overlapping date range.

QCan I convert a scanned bank statement to OFX?
A

Yes. Scans and photos have no selectable text, so TableSense runs OCR first, then builds the .ofx — image-based statements convert fine.

QIs it free to convert a bank statement to OFX?
A

Yes — no signup needed to try it, the free tier handles occasional conversions, and paid plans cover higher volume and batch runs.

QIs my data kept private?
A

Uploads are encrypted, the .ofx is generated from the extracted transactions, the file isn't kept past the job, and you can convert without an account.

QDoes it handle password-protected PDFs?
A

Yes. A locked PDF prompts you for the password to open it (used only for that), then the .ofx is produced as normal.

QWill a multi-currency or international statement import via OFX?
A

Yes — any country's statement works and the currency is detected and written into the OFX (CURDEF), so non-US accounts import with the right currency.

QWhich banks can I convert to OFX?
A

Any bank, anywhere — extraction follows each statement's own layout rather than a fixed template, so even non-English formats produce a valid OFX.

QCan I convert multiple statements in one go?
A

Yes on paid plans — batch a run of statements across accounts in one pass, useful when catching up a ledger.

QHow accurate is the OFX conversion?
A

High on digital and scanned statements; no tool is flawless on every layout, so check the transaction count and tie to the closing balance before importing.