Bank Statement PDF to QIF Converter
Convert bank statements from PDF to QIF right in your browser, without uploading them anywhere.
Input
Output
Readme
Getting transactions out of a PDF statement
Most banks hand out statements as PDF files, which are fine to read but useless to a spreadsheet, a budgeting app, or accounting software. Those want the transactions as data: CSV or Excel for spreadsheets, OFX or QIF for personal finance apps, and CAMT.053 or MT940 for accounting software. Copying the rows by hand is slow and easy to get wrong, so this converter reads the transactions from the PDF and writes them in the format you need.
Tool description
Every bank statement converter here works the same way, from the general Bank Statement Converter to the ones for a single format, such as Bank Statement PDF to CSV or Bank Statement PDF to CAMT.053: it starts on the formats in its name, and the Source and Target menus switch to any other.
Drop one or more PDF statements on the source side, such as a year of monthly statements. Each one converts on its own, and Download All saves the results together in a ZIP file. Switch the target side to the Text tab to see a result before you download it.
Your statements are read in your browser and never uploaded anywhere.
How a PDF statement is read
The converter reads the text of the PDF and finds the table of transactions by where the text sits on the page:
- A transaction is a line that starts with a date and has an amount. Lines under it without either continue its description, and a line with an amount but no date takes the date of the line above, as on statements that print each day's date once.
- The amount columns can be a single signed amount, separate money out and money in columns, or amounts marked CR and DR, with or without a running balance. The column headings, in English and many other languages, and whether the balances add up tell them apart, so money going out always comes out negative.
- Dates can be written as 05.01.2026, 01/05/2026, 2026-01-05, 5 Jan 2026 or Jan 5, with or without the year. Dates without a year take it from the statement period, and dates like 01/05 are read day first or month first depending on the other dates on the statement.
- The account's IBAN or number, the BIC, the currency, the statement period and the opening and closing balances are picked up from the text around the table.
- Statements that list the newest transaction first are put in date order.
The PDF needs text you can select. Scanned statements have none: the OCR PDF Text Extractor can read their text, and this converter takes that text with TXT as the source. Statements protected with a password need it removed first, which the PDF Password Remover can do.
Statements are laid out in countless ways, so check the result against the PDF, for example that the last balance matches the closing balance.
Formats
- CSV and Excel: a row per transaction with its date, value date, description, amount (negative for money going out), balance after it and currency. Excel files have real dates and numbers, so they sort and add up.
- JSON: the account, currency, period and balances, then the transactions.
- CAMT.053: the ISO 20022 bank statement in XML that banks in Europe and Switzerland deliver, with a booked entry per transaction. The CAMT Version setting picks camt.053.001.08, which most banks and software use now, or the older .04 or .02, for software that takes only those.
- MT940: the SWIFT statement format that many accounting programs still import, saved as an .sta file. Characters outside the SWIFT character set are simplified, and descriptions longer than MT940 allows are shortened.
- OFX: the format Quicken, QuickBooks, GnuCash and most budgeting apps import. Each transaction gets an ID made from its date, amount and description, so importing the same statement twice doesn't add its transactions twice.
- QIF: the older Quicken format, with dates written month first, which some apps still prefer.
- TXT: the statement as a plain text table to read, print or paste.
Every format except PDF can be the source too, so the converter also turns CAMT.053 into CSV, MT940 into CAMT.053, or a bank's CSV export into OFX. CAMT.053, MT940 and OFX files always state balances: when a statement shows none, they're worked out from the balance after each transaction, or start at 0.
Example
A statement with these lines:
IBAN GB33 BUKB 2020 1555 5555 55
Date Description Paid out Paid in Balance
01 Jan 2026 Balance brought forward 1,000.00
03 Jan 2026 TESCO STORES 2041 45.20 954.80
LONDON GB
05 Jan 2026 SALARY ACME LTD 2,500.00 3,454.80becomes this CSV:
Date,Value Date,Description,Amount,Balance,Currency
2026-01-03,,TESCO STORES 2041 LONDON GB,-45.20,954.80,GBP
2026-01-05,,SALARY ACME LTD,2500.00,3454.80,GBP