Convert PDF bank statements to Excel, CSV and QBO in your browser

A bank statement converter for bookkeepers: drop a PDF, see whether the rows match the statement's balances, then export.

No statement to hand? Try a sample:

Sample data: the US checking sample, a 2-page Summit National Bank statement for January 2024. All 30 rows match its balances.

sample-us-checking.pdf · 6789

Balanced Opening $5,234.10 + transactions = closing $14,670.88, the closing balance on the statement.

Opening
$5,234.10
Money in
$12,978.51
Money out
$3,541.73
Closing (statement)
$14,670.88
Closing (computed)
$14,670.88
Difference
$0.00

Your bank sent a PDF. Here is where it goes.

RowBalance turns the PDF into rows in your browser. This is what stays on your computer, and what reaches our server.

Where the statement goes

The file is read by JavaScript in this browser tab and never uploaded. To count your pages and see where the converter fails, your browser sends us the items below.

Sign-in, payment, country and visitor-code details: privacy policy

ItemSent to RowBalance?
The statement file and its nameNo, read in your browser
Transactions, amounts, balances, account numbersNo
The number of pages in the fileYes, to count your pages. Samples are not counted.
Anonymous usage statisticsYes, without cookies: file type, page range, currency, check result, clicks.
A browser check, when you are not signed inYes. Cloudflare sees your IP address and browser signals.

The balance check, in plain numbers

Copying a statement into a spreadsheet, or asking a chatbot to do it, can lose a row without anyone noticing. RowBalance checks the result against the statement's own totals.

What a misread looks like

Every row that disagrees with its printed balance is highlighted. Correct the amount in the table and the check runs again.

Files without printed balances show “No balances to check”. Files with only a running balance show “Rows check out”.

Does not balance Off by $212.62 against the closing balance. 1 row disagrees with the running balance (highlighted). Check the amounts against your statement.

Opening
$5,234.10
Money in
$12,978.51
Money out
$3,329.11
Closing (statement)
$14,670.88
Closing (computed)
$14,883.50
Difference
-$212.62
Illustration: the US checking sample with CHECK #1042 read as -23.62 instead of -236.24. That row is flagged and the total is off by $212.62.

Supported formats

Convert from
PDF bank and credit card statements (text-based), US/UK/EU formats
CSV and TXT bank exports
OFX, QFX and QBO files
MT940 / SWIFT (.sta) and camt.053 (ISO 20022 XML)
BAI2 cash management files

Convert to

Excel (.xlsx) · CSV · QuickBooks (.qbo Web Connect) · Xero CSV · OFX

Date,Description,Money in,Money out,Amount,Balance
01/01/2024,DEPOSIT ID NUMBER 812345,268.57,,268.57,5502.67
01/02/2024,PAYROLL DEPOSIT ACME CORP PPD ID: 9876543210,2212.65,,2212.65,7715.32
01/03/2024,STARBUCKS STORE 08127 SEATTLE WA,,13.47,-13.47,7701.85
01/04/2024,ZELLE PAYMENT TO JOHN SMITH CONF# H7K2LQ9 FOR RENT SHARE,,603.31,-603.31,7098.54
The first rows of the US checking sample as CSV.

How it works

  1. Drop one or more statements into the converter above.
  2. Review the transactions. Fix any flagged row right in the table.
  3. Download Excel, CSV, QuickBooks, Xero or OFX.

Frequently asked questions

Is my bank statement uploaded to your servers?

No. The statement file is read by JavaScript in your browser and never uploaded. We receive its page count, to count your allowance, and anonymous usage statistics such as file type and balance check result. Without an account, a Cloudflare Turnstile check also sees your IP address. The privacy policy lists everything.

What is the balance check?

Where the statement prints opening and closing balances, RowBalance adds every transaction to the opening and compares the result with the closing. Where it prints a running balance, rows that disagree are highlighted. With no printed balances it shows No balances to check, never Balanced. Review dates and descriptions before you import.

Which banks and statement layouts are supported?

Most text-based PDF statements; some layouts are not read yet. The parser does not rely on bank templates: it finds the date, description, amount, debit/credit and balance columns from the text positions on the page. It handles descriptions that wrap onto several lines, dates printed once per day, newest-first ordering, and US, UK and European date and number formats.

Can I import the result into QuickBooks or Xero?

Paid plans export a QuickBooks Web Connect (.qbo) file built to OFX 1.0.2, plus Xero CSV and OFX. We have not tested every QuickBooks version, so import one statement first. If it is refused, email support@rowbalance.com.

What does the free plan include?

Without an account: up to 5 pages a day converted to Excel or CSV, with the full balance check and editor. With a free account (Google or a one-time email code, no password): 10 pages a day. No card needed for either.

Does it work with scanned PDFs?

Not yet. RowBalance reads text-based PDFs, which is what online banking downloads normally are. If you can select the text in your PDF viewer, try it free.

Can I convert many statements at once?

Yes, on paid plans. Drop a year of statements for several accounts, review each one, and export them separately or merged into one file. Transactions that appear in two overlapping statements are kept once.

Why not just paste the statement into ChatGPT?

It can work on a short statement, but nothing checks its rows against the printed balances, and pasting sends the statement to that service. RowBalance reads it in your browser and checks it where balances are printed.

Do I need an account?

Not to try it: convert up to 5 pages a day without signing up. A free account gives you 10 pages a day, and paid plans are attached to your account, so they work on any device where you sign in. Your account never holds your statements.

See plans from $9