Bank Statement PDF to OFX Converter — GnuCash & Moneydance
This free PDF to OFX Converter turns any bank statement into a clean .ofx for GnuCash, Moneydance, HomeBank, Actual Budget, or Sage 50 — safe to re-import, no duplicate transactions. Chase and Bank of America killed OFX Direct Connect in 2024, so PDF is the only export left for many accounts.
Already have a different file format?
Why Use Our PDF to OFX Converter Tool?
Re-imports never duplicate transactions
OFX has transaction IDs that prevent duplicates on re-import. We keep them stable. CSV can't do this — Actual Budget, Moneydance, and HomeBank all prefer OFX for the same reason.
Bridges your bank's killed Direct Connect
Chase ended OFX Direct Connect in 2024; BofA and others followed. PDF is the only export left. Drop the PDF, get the same .ofx your app expects.
No plugin install, no Python, no subscription
ofxstatement needs a per-bank plugin and Python. SaaS converters gate free tiers behind signup. We give you 2 free pages per day, browser-only.
How to convert a bank statement PDF to OFX
Download your PDF statement
Pull the PDF from your bank. Usually the only export left after Direct Connect was killed. Password-protected and multi-page PDFs work.
Upload the PDF
Drop the PDF above, or click to browse. PDF, PNG, JPG up to 10MB.
Download .ofx, import into your app
GnuCash: File → Import → Import OFX/QFX transactions. Moneydance: File → Import. Actual Budget: Account → Import. HomeBank: File → Import → OFX/QFX. Sage 50 Premium: Tasks → Account Reconciliation → Import.
Why banks stopped offering direct OFX downloads
Major US banks killed OFX Direct Connect in 2024
Chase ended Direct Connect April 1, 2024; BofA, Capital One, and others followed. The auto-feed is gone. PDF is the only export left.
Historical statements (>6 months) only as PDF
OFX export windows are 90-180 days. For year-end, audit, restoring inactive accounts, or app migrations, PDF is the only route to older data.
CSV imports duplicate transactions on re-runs
CSV has no transaction ID. Re-importing the same month duplicates every row. OFX has IDs built in — apps skip rows already imported. Our IDs stay stable across re-imports.
Other PDF→OFX tools require plugin installs or paywalls
ofxstatement (the free open-source option) needs a per-bank Python plugin. DocuClipper and MoneyThumb gate free tiers behind signups. We work in the browser, 2 pages free daily, no install.
GnuCash, Moneydance, HomeBank, Actual Budget, Sage 50 users
GnuCash users with PDF-only banks
GnuCash imports OFX natively but won't touch PDF. No subscription, no per-bank plugin install.
Moneydance users after Direct Connect deprecation
When your bank kills Direct Connect, the auto-feed dies. PDF → OFX restores the same import workflow.
Actual Budget users importing historical data
Actual prefers OFX over CSV for the dedup property. Our transaction IDs stay stable across re-imports.
HomeBank users (EU and smaller banks)
EU banking still has many PDF-only institutions. HomeBank: File → Import → OFX/QFX takes our output directly.
Sage 50 US users (Premium reconciliation)
Sage 50 Premium imports OFX via Tasks → Account Reconciliation → Import. Bridges banks Sage's Bank Feeds plugin doesn't cover.
Bookkeepers with multi-client open-source workflows
Clients spread across GnuCash, Moneydance, Actual — all want OFX. One PDF → OFX flow per client.
Frequently Asked Questions — PDF to OFX Converter
QWhich apps does this OFX file work with?
QHow do I import into GnuCash?
QHow do I import into Moneydance?
QHow do I import into Actual Budget?
QWill re-importing the same statement create duplicates?
QWhat's the difference between OFX, QBO, and QFX?
QWhy pick OFX over CSV?
QIs my statement data stored anywhere?
Other Conversion Formats
Bank statement PDF to GnuCash, Moneydance, or Actual
Your bank killed OFX Direct Connect. We give back the same .ofx your app expects — with built-in transaction IDs so re-imports never duplicate. Free for 2 pages, no signup.