GetBankCSV
Balance-checked on every file

Bank Statement Converter: PDF to Excel or CSV Your Accounting Software Will Accept

Every bank statement converter gives you a spreadsheet. Most give you one QuickBooks or Xero will bounce. GetBankCSV shapes the export to the column layout, date style and row limit your accounting software actually documents — and adds up every row against the closing balance printed on your statement — so the import works the first time.

PDF → CSV · XLSX · QBO · OFX · QIF

The bank statement converter itself is not open yet. Everything else on this page — the rules, the formats, the banks we test against — is live and accurate today.

No credit card1 free statement a monthDeleted after conversion

Digital and scanned PDFs 1 statement free every month
1Upload 2Read 3Reconcile 4Export
The product's own screen after converting a statement: a green ALL READ note saying we did not find anything we failed to read, a gold note saying 1 of 4 accounts does not add up and a further 2 accounts could not be checked at all, and the arithmetic for one account — opening 23,129.06, what that comes to 18,966.02, closing as printed 18,966.02, difference 0.00.
A real run on our own test statement — the arithmetic in full, not a percentage, including the accounts this bank statement converter could not check. A balance check cannot see a block that never made it into the table, so we look for those a second way.
5 formats
CSV, XLSX, QBO, OFX, QIF — none of them locked
1 statement
Free every month, with the full balance check
Every file
Balance-checked row by row, not sampled
24 hours
Nothing of yours is kept longer than that
In plain terms

What is a bank statement converter?

A bank statement converter turns PDF bank statements into structured spreadsheet data you can sort, total and import. You upload the statement, the bank statement converter reads each transaction line — date, description, debit, credit and running balance — and returns the result as Excel or CSV.

Two things separate a usable conversion from a wasted one. The first is the source file: a PDF downloaded straight from online banking carries a real text layer, while a scan or a phone photo is only an image and must be read by OCR, which is measurably less reliable. The second is the output format, and it is the step most people are not warned about. Accounting software does not accept just any spreadsheet. QuickBooks Online takes a CSV of exactly three columns (Date, Description, Amount) or four (Date, Description, Credit, Debit), and caps each upload at 350 KB and 1,000 lines. Xero requires Date and Amount at minimum, income as positive and expenses as negative, and refuses files over 100,000 rows. A bank statement converter that ignores those rules hands back a file that opens fine and imports badly.

Convert

This bank statement converter is not open yet

This bank statement converter is not accepting uploads on this site yet. There is no form here on purpose — we would rather show you nothing than a button that does nothing.

When it opens, a free account will convert 1 statement every month, with the preview and the balance check.

Before

Why your converted file gets rejected — and why no bank statement converter warns you

Conversion is not the hard part any more for a modern bank statement converter. Reading a table out of a PDF is a solved problem, and a dozen tools do it competently. The part that still costs an afternoon is what happens next: you open the file, it looks correct, you upload it to your accounting software, and it fails.

It fails for reasons that have nothing to do with extraction quality. Intuit's own upload documentation is specific: the file must be in English, must be 350 KB or smaller, may contain up to 1,000 lines per upload, and must have either three columns (Date, Description, Amount) or four (Date, Description, Credit, Debit) — no other column count is accepted. Intuit further documents that zeroes must be removed and the cells left blank, that the Credit and Debit headers must read exactly that without the word "Amount" appended, and that Mac users have to save the file specifically as a Windows CSV. (Intuit — Manually upload transactions into QuickBooks Online)

Intuit's error guide adds one more, and it is the one that catches people: special characters in a bank description can block the import outright. Bank descriptions are full of asterisks, hashes and slashes. (Intuit — Common errors for importing bank transactions using CSV)

Xero has its own, different set. Only Date and Amount are mandatory. Income and expense amounts must sit in the same column, income positive and expenses negative — written either as -30.00 or as (30.00). Commas must not be used to mark decimal places. A file with more than 100,000 rows will not import at all. And if you include a Payee column, the name has to match an existing Xero contact exactly, or Xero creates a duplicate contact instead of matching it. (Xero Central — Import a bank statement in CSV format)

None of that is exotic. It is published, stable, and knowable. It is simply work that every other bank statement converter leaves on your desk.

The rulebook

The exact CSV format QuickBooks Online accepts

Column layout: three columns or four, nothing else

QuickBooks Online reads exactly two shapes. Three columns — Date, Description, Amount — with money out written as a negative number. Or four columns — Date, Description, Credit, Debit — with money in and money out separated. A file with five columns, or with the columns in a different order, fails at the mapping step rather than at upload, which is why the error is easy to misread as a problem with your data.

Size and row limits: 350 KB, 1,000 lines

Intuit caps each upload at 350 KB and 1,000 transaction lines, and requires the file to be in English. A full year of a busy current account will exceed both. The documented fix is to shorten the date range and upload in batches — which means a bank statement converter that hands you one giant file for the year has, in practice, handed you a manual splitting job.

The three formatting rules that silently break the file

Remove zeroes and leave those cells blank. Strip the word "Amount" from the Credit and Debit column headers. Keep every date in a single format throughout the file. Each of these is documented by Intuit, and each produces an import failure whose message does not name the real cause.

Our first answer is QBO, not CSV. QBO is the format Intuit's own importer is built for, and not one rule on this page applies to it: no column count to match, no 350 KB ceiling, no 1,000-line split, no header wording to get right. If you would rather have the CSV, we write it to the rules above — three columns or four, headers reading exactly Date, Description, Amount or Date, Description, Credit, Debit, zeroes left blank, the characters Intuit blocks replaced with spaces, and anything past 1,000 rows or 350 KB split into numbered files you upload one at a time. Why you pick the account yourself · the full walk-through.
The other rulebook

The exact CSV format Xero accepts

Two mandatory fields, five useful optional ones

Xero needs only Date and Amount to create bank statement lines. Everything else is optional — but the optional fields are what make reconciliation fast rather than tedious. Payee drives Xero's contact matching and bank rules. Description shows on the reconciliation screen. Reference carries the bank's own reference. Xero also allows two extra columns for a bank's analysis code and transaction type.

Signs, decimals and the 100,000-row ceiling

Income and expenses share one Amount column. Income is positive; expenses are negative, written as -30.00 or (30.00). Commas are not used for decimal places. And Xero will not import a CSV with more than 100,000 rows — if you hit it, Xero's own guidance is to delete empty rows or switch to OFX or QIF instead.

The Payee trap

If the Payee name in your file does not match an existing Xero contact character for character, Xero creates a second contact rather than matching the first. Do this across a year of statements and you inherit a contact list full of near-duplicates that someone has to merge by hand later.

For Xero, take the CSV — the Xero one. Pick Xero as the destination and this bank statement converter writes Date, Amount, Description: the two fields Xero requires plus the one that makes reconciliation readable, amounts already signed the way Xero asks (money in positive, money out negative, one column, merged for you when your bank prints two). We deliberately leave Payee out — all we have is what the bank printed, and feeding that to Xero's contact matching is exactly how you end up with a contact list full of near-duplicates. What every column means · the full walk-through.
The flow

How this bank statement converter gets your file to import on the first try

Every bank statement converter reads the PDF. The difference here is not in the reading — it is in what happens after it, and in what you get to check before you pay.

  1. Upload the statement

    Drag in a PDF straight from online banking, or a scan of a paper statement — one, or a dozen at a time. This bank statement converter reads dates, descriptions, debits, credits and running balance line by line. No card, nothing to install, and a free account covers 1 statement every month, up to 10 pages per statement. If the PDF is password-protected we ask you for the password, use it to open that one file, and never store it.

  2. Read the verdict — this part is free

    Before any payment you see the first ten rows, the opening and closing balances printed on your statement with our arithmetic between them, and a plain list of anything in the document we could not read. If the answer is “this conversion is no good”, you find that out here, for nothing.

  3. Pick where it is going, not just what format you want

    This bank statement converter does not ask you for a file extension here — you pick the software instead. Say QuickBooks and you get either the QBO, which skips the CSV rulebook above entirely, or a CSV already cut to Intuit's three or four columns, its header wording, its blank-for-zero rule and its 1,000-row limit. Say Xero and you get the columns Xero asks for, signed its way. Say nothing and you get our own thirteen columns, which is the right answer if the file is going to a human. One conversion unlocks all of them, and taking one does not use up another.

    One honest catch, since it is this bank statement converter's own rule we are bending: QuickBooks rejects a CSV containing any line that is not a transaction, so when you pick it as the destination we cannot write our usual notes inside the file. If that conversion has open questions, the file comes to you named …-CHECK-BEFORE-IMPORT.csv, the notes are on this page, and the plain thirteen-column CSV still carries them in full. We move that warning; we do not drop it.

See what the QuickBooks file contains The bank statement converter is not open yet — the format pages are.
Before you pay

See it before you pay: what this bank statement converter shows for free

You do not have to buy anything to find out whether the conversion worked. Every upload to the bank statement converter shows you three things for free:

  • The first 10 rows of the extracted transactions, so you can eyeball dates, descriptions and signs.
  • The balance check: opening balance plus the transactions we read, compared against the closing balance printed on your statement.
  • The unread-content notice, if anything in the file did not make it into the table.

Paying unlocks the full file in the format you pick. Nothing else is held back.

Why this tool exists

The difference: what other bank statement converters do not check

“There is something in this file I did not read.”

This is the part other bank statement converters do not do.

A bank statement converter’s balance check can only catch errors in numbers it actually read. If a whole block of the statement — an entire account, a page rendered as an image with no text behind it — never enters the output at all, there is nothing left to disagree with, and the totals still add up perfectly. You would get a clean-looking spreadsheet that is missing two commercial loans, and nothing on the page would tell you.

So the bank statement converter checks the document a second way, independently of what the extractor produced: we scan the page for ink that has no text behind it, reconcile every amount visible in the text layer against the rows in your table, and read image-only blocks locally. Anything that cannot be accounted for is reported to you by page — and the notice travels inside the downloaded file, not just on this website, because the person who ends up reading your spreadsheet is often your accountant, not you.

Formats

Which format should I pick?

None of these five is held back for a higher plan. One conversion gives you all of them, and downloading the CSV does not use up the Excel. Pick by what your software will accept.

FormatUse it when
CSVYou want something every tool can open, Xero included. One row per transaction. Column definitions.
XLSXThe statement has several accounts. Each account gets its own sheet, plus a balance-check sheet. How the workbook is laid out.
QIFYour accounting software is older, or the stricter formats get rejected. Fewest required fields. What QIF cannot carry.
OFXThe open bank-exchange standard. Quicken and most desktop accounting tools read it. Which version we write.
QBOQuickBooks. It is OFX plus the extra tags Intuit requires. Why you pick the account yourself.
Two different jobs

Digital PDF or scanned image? Your bank statement converter is doing two different jobs

Most bank statement converters quote a single accuracy figure. That figure is close to meaningless unless you know which kind of file it applies to, because the two are different problems.

A digital PDF — the file you download from online banking — contains a real text layer. The transaction text is already machine-readable; the work is reconstructing the table structure around it. This is the reliable case.

A scanned or photographed statement is an image. There is no text to read, so the characters have to be recognised before any table logic can run. Resolution, skew, shadows, staple marks and background shading all degrade the result, and the failure mode is quiet: a 1 read as a 7 produces a number that looks perfectly plausible in a spreadsheet.

GetBankCSV tells you which path your file took, and flags the lines it is least confident about, so you check ten rows instead of re-reading four hundred. We publish no blended accuracy percentage at all — not one number for both, and not two numbers either. A figure measured on our test files tells you nothing about your file, and averaging the two cases would hide exactly the one where you need to be careful. What you get instead is the arithmetic on your own statement, free, before you pay.

Practical consequence: if your bank offers a PDF download, use it rather than scanning a posted statement. Fixing the input before it reaches the bank statement converter is the single largest thing you control.

When the numbers disagree

What to check when your bank statement converter output doesn’t match

Every bank statement converter’s marketing stops at “download”. Here is the part that belongs on the page — a four-line check that catches almost every conversion error in under a minute, in the order that finds problems fastest. We run the first one for you on every upload, free, before you pay anything.

  1. Make the balances close

    Opening balance, plus the sum of credits, minus the sum of debits, should equal the closing balance printed on the statement. If it does not, a line was dropped, duplicated, or read with the wrong sign. This single check catches more errors than reading the rows — which is why it is the one we run on every file, per account rather than across the whole document.

  2. Count the rows

    Compare the row count in your spreadsheet to the transaction count on the statement, where the bank prints one. A mismatch usually means a row broke across a page boundary, or a summary line was captured as a transaction.

  3. Check the first and last date

    The earliest and latest dates in the file should match the statement period exactly. If the first date is later than the period start, page one was skipped — which happens when the first page carries a letterhead the parser treated as a header block.

  4. Scan the amount column for text

    Sort by the amount column. Anything non-numeric floats to one end. This is where multi-line descriptions leak: a long payee name wraps to a second line, and the wrapped fragment lands in the wrong field. It is the most common structural failure in bank statement extraction and the easiest one to spot.

What none of these four can catch: a block that never entered the bank statement converter’s table at all. If an entire account or an image-only page is missing from the output, the balances still close — because those transactions are absent from both sides of the sum. That is the failure we check for separately, and report to you by page.

The three cases that need a human. Multi-currency statements — a foreign-currency line usually carries both the original amount and the converted amount, and only one of them belongs in your ledger. Page-break rows — a transaction split across two pages can be read once, twice, or half. Summary and subtotal lines — “Total debits this period” is not a transaction; if it is in your file, your balance check in Check 1 will fail by exactly that amount, which is a useful diagnostic.

Who this is for

People who do the books — their own, or someone else’s

Month-end reconciliation
Last month’s statement has to go into the accounting software and agree with what is already in there. You need the rows to be right, and you need to know if any are missing.
Tax season, a year at a time
Twelve statements in one sitting. Drop them all into the bank statement converter at once, watch the queue tell you which ones need a second look, and download them as one merged file with a column saying which PDF every row came from.
One PDF holding several accounts
A current account, a loan and a credit card in the same document. Each comes out as its own table with its own balance check — and a loan is checked the way a loan works, not the way a current account does.
Questions

Bank statement converter questions: will it read my statement?

How accurate is it?
This bank statement converter does not publish a single accuracy percentage, because a number measured on our test files tells you nothing about your file. What we do instead is show you, for free and before you pay, whether this particular conversion worked: every account’s opening balance plus the transactions we read is compared against the closing balance printed on your statement, and anything in the document we could not read is reported to you by page. If it does not reconcile, you will know before you spend anything.
Which banks do you support?
This bank statement converter has no supported-banks gate, because there are no per-bank templates. We read the document that is in front of us rather than matching it against a layout we prepared earlier, so a statement from a credit union with four hundred members works the same way as one from a national bank. What we do publish is the 24 institutions whose real statements are in our regression tests — that is a list of what we test against, not a list of what works. If yours is not on it, upload one statement on the free allowance and look at the balance check.
Does it work with scanned statements and image-only PDFs?
Yes. When part of a page is a picture with no text behind it, the bank statement converter reads that block on our own machine first, and send it to be read again properly if it turns out to contain figures. Blocks that turn out to be a logo or a barcode are passed over without troubling you. If something in an image block still cannot be accounted for, that is reported — see what we flag.
Digital PDF or a scan — does it matter which I upload?
It matters more than anything else you control. A PDF downloaded from online banking carries a real text layer: the transaction text is already machine-readable and the work is reconstructing the table around it. A scan or a phone photo is only an image, so every character has to be recognised first, and the failure mode is quiet — a 1 read as a 7 produces a number that looks perfectly plausible in a spreadsheet. This is also why we refuse to quote one blended accuracy figure: averaging the two hides exactly the case where you need to be careful. Fixing the input before it reaches the bank statement converter is the single largest thing you control, so if your bank offers a PDF download, use it rather than scanning a posted statement.

Batches and multiple accounts

Can I convert several statements at once?
Yes. Drop up to 12 PDFs into the bank statement converter at a time. They queue up and convert one after another, and you can download each one on its own or all of them merged into a single Excel workbook or CSV, with a column telling you which file each row came from.
My statement covers several accounts. Do they stay separate?
Yes, and this is one of the things the bank statement converter checks hardest. In CSV every row carries an account column; in Excel each account gets its own sheet, and the balance check is run per account rather than across the whole file. A statement holding a checking account, a savings account and a loan produces three separate balance verdicts.

Your file, and getting it out

What if my PDF is password-protected?
We ask you for the password and use it to open that one file while the bank statement converter runs. It is not written to disk, not kept in the job record, not written to any log, and never leaves your browser’s address bar or local storage, because it is never put there.
What happens to my file afterwards?
The PDF you upload to the bank statement converter and the page images we render from it are deleted as soon as your conversion finishes. The converted result is kept only so you can download it, and nothing is kept longer than 24 hours in any case. The full retention policy.

From bank statement converter to QuickBooks, Xero and everything else

How do I import the result into QuickBooks or Xero?
For QuickBooks, take the QBO the bank statement converter writes — it is the format Intuit’s importer expects, and it sidesteps the whole CSV rulebook. For Xero, CSV is the right choice and Xero will ask you to map the columns. QIF and OFX are there for older desktop software. Both routes are written out in full: importing into QuickBooks Online and the Xero CSV format.
Will a CSV import into QuickBooks Online without editing?
Our default CSV will not, and neither will any other bank statement converter’s, because it has thirteen columns and Intuit accepts only three (Date, Description, Amount) or four (Date, Description, Credit, Debit). So pick QuickBooks as the destination and we write it to those rules instead: the exact column count and header wording, zeroes left as blank cells, the characters Intuit documents as blocking replaced with spaces, and anything past 1,000 rows or 350 KB split into numbered files. The QBO file is still the shorter road — none of those rules apply to it at all — but the CSV route now works without you editing anything.
Will it import into Xero?
Yes. Pick Xero as the destination and the file comes out as Date, Amount, Description — the two fields Xero requires plus the one that makes the reconciliation screen readable — with amounts already signed the way Xero asks, income positive and expenses negative in a single column. We deliberately leave the Payee column out: Xero matches Payee against your existing contacts character for character and creates a new one when it does not match, and all we have is what the bank printed, so including it is how you inherit a contact list full of near-duplicates. Xero’s 100,000-row ceiling is handled too. The full Xero rulebook.
If the QuickBooks file has no warning notes in it, where did they go?
Into the file name, and they are still on your screen. Normally every file this bank statement converter writes carries its own notes — anything we could not read, anything that does not balance — as comment lines, because you often forward the file to an accountant and a warning that lives only on a web page does not travel. QuickBooks will not accept a CSV containing any line that is not a transaction, so for that destination the notes would stop the import. Rather than drop them, we rename the file to end in -CHECK-BEFORE-IMPORT, put the full list in a READ-ME-FIRST.txt when the export is split across several files, and leave them written out in full inside the plain thirteen-column CSV. We move that warning. We do not delete it.
How should I choose a bank statement converter?
Test one statement before you pay for anything. A bank statement converter that reads your bank’s layout properly will reconcile to the closing balance on the first attempt; one that does not will fail a four-line check within a minute. Two questions are worth asking beyond raw accuracy. Can it tell you when it did not read something — because a balance check cannot see a block that never entered the table, and the totals still add up perfectly when an entire account is missing. And does it hand you a format your software actually accepts, rather than a spreadsheet that opens fine and imports badly.
Pricing

Bank statement converter pricing: start free, pay for the statement, not the month

The free trial is the free tier, and it does not expire: 1 statement every month, up to 10 pages per statement, for as long as you want — with the full balance check and the unread-content notice, not a crippled preview. A free account is all it takes, and this bank statement converter never locks a file you have already converted behind a paywall. Beyond the free statement, a single statement is $5 and nothing renews unless you pick a monthly plan.

No card

Free

Free no payment

1 statement a month

  • All five formats
  • Balance check on every file
  • No card
Pay once

Single Statement

$5 one time

1 statement in total

  • All five formats
  • Balance check on every file
  • Nothing renews
Pay once

Five Statements

$9 one time, never expires

5 statements in total

  • All five formats
  • Balance check on every file
  • Nothing renews
Monthly

Starter

$19.99 a month

100 pages a month

  • All five formats
  • Balance check on every file
  • Cancel whenever you like
Monthly

Pro

$29.99 a month

200 pages a month

  • All five formats
  • Balance check on every file
  • Cancel whenever you like

Prices in USD. No subscription is required to use this tool.

See full pricing Free tier, no card. Your file is deleted after conversion, and nothing is kept longer than 24 hours.

Try this bank statement converter on a real statement

The only test that matters is whether the file goes in. Convert one statement free, read the balance check, and decide after that — not before.

Uploads are not open yet. When they are: no card, a free account for 1 statement a month, and your file is deleted when the conversion finishes.