Bank Statement Converter

Your PDF stays in your browser. Nothing is uploaded.

Drop a bank statement PDF and pick a format. The Bank Statement Converter reads the file and gives you back a clean spreadsheet — CSV for Sheets and Excel, XLSX if you want columns pre-typed, QIF for Quicken, or OFX for QuickBooks. For Chase and Bank of America statements, the parsing happens entirely in your browser: the PDF never uploads. For other banks, the AI fallback extracts the text in your browser and sends only the text — not the PDF — to our AI service for parsing. Either way: no account, no per-page meter, no subscription.

Built by Bob Article by Lace QA by Ben Shipped

How to use

  1. 1

    Drop a bank statement PDF into the box (or click to pick one). Up to 50 MB, 200 pages.

  2. 2

    The tool reads the PDF in your browser. For Chase or Bank of America statements, it detects the bank automatically and parses transactions client-side.

  3. 3

    If your PDF is password-protected, you'll see a password prompt. The password is used in your browser to open the file — it's not sent anywhere.

  4. 4

    Check the preview table. Each row shows the date, description, amount (debits negative, credits positive), and running balance when the statement provides it.

  5. 5

    Pick a format: CSV (universal), XLSX (Excel/Sheets with typed columns), QIF (Quicken), or OFX (QuickBooks, GnuCash). The file downloads with a name derived from your input PDF.

  6. 6

    Don't see your bank? Click "Try AI parsing." That extracts the text in your browser and sends only the text (not the PDF) to our AI service. We don't store it.

  7. 7

    Long statements (over ~28 KB of extracted text) bump against the AI fallback's request-size limit. Split a multi-month PDF into one-month files and convert each.

Frequently asked questions

Ratings & Reviews

Rate this tool

Sign in to rate and review this tool.

Loading reviews…

What this tool does

The Bank Statement Converter turns a bank or credit-card statement PDF into a clean spreadsheet. Drop the file, pick a format — CSV, XLSX, QIF, or OFX — and the file downloads. No signup, no per-page meter, no subscription.

The two paths

For Chase and Bank of America statements, the entire pipeline runs in your browser. The PDF is parsed by pdf.js (the same library that powers Firefox's PDF viewer), and a small bank-specific regex parser extracts each transaction into a structured row. The PDF never uploads. You can verify this in your browser's DevTools — the Network tab will show no outbound request containing the file or the extracted text.

For other banks, the tool extracts the text in your browser, then sends only the text — not the PDF bytes — to our AI service, which parses it into transactions and returns the structured data. We don't store the extracted text. The AI path is free and included in this tool — there's no upsell to a paid tier.

Output formats

  • CSV — RFC 4180 compliant, opens cleanly in Excel, Google Sheets, Numbers, LibreOffice, and every accounting tool that imports CSV.
  • XLSX — Excel format with typed columns (numbers stay numbers, dates stay dates) and reasonable column widths.
  • QIF — Quicken Interchange Format. Imports into Quicken Classic, QuickBooks (with the QIF import option enabled), and most personal-finance tools.
  • OFX 2.x — Open Financial Exchange. The modern accounting-import format used by QuickBooks Online, GnuCash, KMyMoney, and most bank-feed integrations. Each transaction gets a deterministic FITID so re-imports deduplicate correctly.

Sign convention

Debits — money out: purchases, ATM withdrawals, fees, payments — are negative. Credits — money in: deposits, refunds, interest — are positive. This matches OFX's TRNAMT and is the convention every spreadsheet expects when you sum a column to get net cash flow. A separate type column carries the literal "debit" or "credit" string so QIF and OFX exports stay correct.

Supported banks (v1)

The client-side parser ships with two banks in v1 — Chase and Bank of America — picked because they're the two largest US retail banks by deposit volume. Six more banks are fingerprinted (Wells Fargo, Capital One, American Express, Discover, Barclays, HSBC) but currently route to AI parsing until their client-side parsers ship in v1.1.

If your bank isn't on either list, the AI fallback handles it. Drop the PDF, click "Try AI parsing," and the tool will work the same way.

What doesn't work

  • Scanned image-only PDFs without an OCR layer. If the PDF is a photo of a statement (or a scan from an old printer) with no text layer, neither the client-side parser nor the AI fallback can read it reliably. OCR the file first with Adobe Acrobat or a free tool like Tesseract, then re-drop the OCR'd PDF.
  • Multi-account combined statements with several account-number sections in one PDF. The current parser treats them as one combined list. You'll see all the transactions, but you'll have to filter by date or account number afterward. (Splitting on the per-account headers is on the v2 backlog.)
  • Statements over ~28 KB of extracted text bump against the AI fallback's request-size limit. The error message will suggest splitting the PDF; do that and re-run.

Privacy, in concrete terms

The privacy claim isn't a marketing line — it's something you can audit. For Chase and BofA statements, open your browser's DevTools, switch to the Network tab, and drop a statement. You'll see pdf.js fetch its worker file once, then nothing else. No POST to a server. No XHR carrying the PDF bytes. No request body containing the extracted text. The parser runs in your tab and the data lives in your tab's memory until you close it.

For the AI path, the same DevTools check will show one POST to /api/llm/bank-statement-converter with a body containing the extracted text. The PDF bytes are not in that body. Our AI service processes the request, returns the structured transactions, and we don't persist the input text after the response. You can re-audit at any time — the contract is the same call shape every other AI tool on this site uses.

Why this tool exists

The dominant tools in this category (bankstatementconverter.com, convertbankstatement.io, pdftables.com, moneythumb.com) gate the export behind either a signup wall, a per-page meter that runs out fast, or a recurring subscription for what's fundamentally a one-shot job. The honest version of "convert this PDF" is: do the conversion, hand back the file, charge nothing, store nothing. That's what this tool does.