Upload your PDF bank statement and download a clean CSV file in seconds. Every transaction extracted with date, description, debit, credit, and running balance. Free — no signup needed.
Select your bank statement PDF — supports all banks worldwide
All transactions read automatically with balance verification
Clean CSV ready for any software, accounting tool, or script
Here is a sample of what the downloaded CSV file contains:
Date,Description,Debit,Credit,Balance
2025-08-01,Opening Balance,,,125000.00
2025-08-03,NEFT SALARY CREDIT - EMPLOYER LTD,,85000.00,210000.00
2025-08-05,UPI/DR/SWIGGY ORDER 98234,,,"",1200.00,"",208800.00
2025-08-07,ATM WITHDRAWAL SECTOR 12,5000.00,,203800.00
2025-08-10,ELECTRICITY BILL AUTO-DEBIT,2350.00,,201450.00
2025-08-15,EMI HDFC HOME LOAN,25000.00,,176450.00
CSV (Comma-Separated Values) is the most universally compatible data format. Here is why many professionals prefer CSV over PDF or even Excel when working with bank statement data:
| Feature | CSV | Excel (XLSX) |
|---|---|---|
| Universal compatibility | ✅ Any software | ⚠️ Needs Excel/Sheets |
| Accounting software import | ✅ All platforms | ✅ Most platforms |
| Manual review / formatting | ⚠️ Basic | ✅ Full formatting |
| Automation / scripting | ✅ Preferred | ⚠️ Requires libraries |
| Database import | ✅ Native | ⚠️ Needs conversion |
| File size | ✅ Smallest | ⚠️ Larger |
Need Excel instead? Use our PDF to Excel converter.
Go to Banking → Upload from file. Select your CSV, then map columns: Date → Date, Description → Payee, Credit → Received, Debit → Spent. QuickBooks will match transactions to your rules automatically.
In Xero, go to Accounting → Bank Accounts → Import a Statement → Upload your CSV. Xero detects the column format automatically for standard layouts.
File → Import → Upload your CSV. Choose "Replace spreadsheet" or "Insert new sheet." All transactions appear in clean rows ready for SUMIF, VLOOKUP, or pivot table analysis.
Load with df = pd.read_csv('statement.csv') for immediate analysis, filtering, and visualisation.
Works with PDF statements from every major bank — here are the most commonly used:
HDFC Bank · SBI · ICICI Bank · Axis Bank · Kotak · PNB · Canara · Bank of Baroda · IDBI · Union Bank · Yes Bank · Barclays · HSBC · NatWest · Lloyds · Halifax · Santander · Chase · Wells Fargo · Citibank · TD Bank · Capital One · RBC · Scotiabank · ANZ · Commonwealth · Westpac · NAB
Indian bank PDFs are the most challenging to convert — password locks, custom fonts, and complex layouts. All handled automatically, no configuration needed:
Password = DOB in DDMMYYYY (e.g. 15081990) or 10-digit Customer ID. Unlocked client-side — never transmitted or stored.
Custom font — OCR auto-activates. Works with YONO app, branch, and e-passbook PDFs.
Page headers deduplicated — no column headers appear as rows in the CSV.
All supported. Narration, debit/credit, and balance all extracted accurately.
₹ INR amounts as plain numbers. Dates (DD/MM/YYYY, DD-MMM-YYYY, DDMONYYYY) all normalised to YYYY-MM-DD in the CSV.
→ Dedicated Indian Bank Statement Converter
All major UK banks — high-street and digital challengers — produce clean, structured CSVs:
Barclays, NatWest, HSBC UK, Lloyds, Halifax, Santander, Nationwide, TSB, Metro Bank, First Direct, RBS, Bank of Scotland
Monzo, Starling, Revolut, Wise, Chase UK, Atom Bank — PDF statement exports from apps all supported
£ GBP as plain numbers. DD/MM/YYYY → YYYY-MM-DD. Direct Debits (DD), Standing Orders (SO), Faster Payments (FPS), BACS, and CHAPS correctly labelled in Description column. Sort code and account number in CSV header.
→ Dedicated UK Bank Statement Converter
Major US banks, regional banks, and credit unions — all producing clean, import-ready CSV:
Chase, Wells Fargo, Bank of America, Citibank, TD Bank, Capital One, US Bank, PNC, Ally, Truist, Regions, KeyBank, M&T, Fifth Third
Navy Federal, USAA, Schwab Bank, SoFi, Marcus, Chime, and thousands of regional credit unions
$ USD as plain numbers. MM/DD/YYYY → YYYY-MM-DD. Single signed-amount column split into Debit and Credit. ACH, wire, Zelle, check, POS, and direct deposit labels preserved.
pd.read_csv('statement.csv') for immediate financial analysis