Productivity and Utilities

Bank CSV Normalizer

Paste a bank export and get a tidy CSV with ISO dates and one signed amount column.

Columns for the date, a description and either one amount or separate debit and credit columns are found by their usual names.

    Dates become YYYY-MM-DD, amounts get two decimals with money out as negative, and descriptions are tidied. Your statement stays in this page and is never uploaded.

    Next step

    How to use the bank csv normalizer

    1. Paste the bank CSV with its header row. Exports from banks and cards usually have a date, a description and either one amount or separate debit and credit columns.
    2. Choose the date order used in the file and the number style: 1,234.56 or 1.234,56.
    3. If a column is not found by its usual name, type its header name in the optional boxes. You can also flip the sign of every amount.
    4. Copy the clean CSV or download it. Rows that could not be read are listed, with the reason.

    One layout for every bank

    Each bank exports its own layout: different column names, dates written in different orders, amounts split into debit and credit columns or shown with signs reversed. A budgeting app or a spreadsheet wants one layout. This tool turns the sample into three columns, Date, Description and Amount, with the date as year-month-day and money going out as a negative number.

    For the sample file, 03/02/2026 with the month-day-year order becomes 2026-03-02, the debit of 54.20 becomes -54.20 and the credit of 2,100.00 becomes 2100.00. A description that contains a comma is quoted so the file stays valid. The tool does not guess between day-month and month-day dates, because a date like 03/04/2026 can be read two ways, so you pick the order.

    How columns are found

    The date column is found by names such as Date, Posting Date or Transaction Date, the description by Description, Memo, Payee or Details, the amount by Amount, and debit and credit by Debit, Withdrawal, Credit or Deposit. If your file uses other names, type the exact header in the matching box. Names are compared without regard to capital letters.

    With separate debit and credit columns, the amount is the credit minus the debit, whichever sign each column uses. Parenthesized numbers such as (12.50) and currency signs are understood. Once your file is clean, match it with your records using the Bank Reconciliation Template, sort it with Sort CSV by Column and check it with the CSV Validator.

    Privacy and limits

    A bank file has sensitive details, so everything happens in your browser. Nothing is uploaded, saved or put in a link, and closing the page clears it. Rows with an unreadable date or amount are skipped and listed so you can fix them instead of losing them silently.

    The tool changes layout and does not categorize or judge transactions. It reads dates between 1900 and 2200. To combine several clean files, use CSV Merge and Split. Check the totals against your statement before you rely on the result.

    Assumptions and limits

    • The first row is a header, and the date order and number style are the same on every row.
    • Amounts are two decimals after rounding, and money out is negative unless you flip the sign.
    • Balance values are kept only when you choose it and a balance column exists.
    • Up to 100,000 rows are read. Nothing is sent anywhere.

    Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

    Frequently asked questions

    Why do I have to choose the date order?

    A date such as 03/04/2026 means March 4 in some places and April 3 in others. The tool cannot tell which, so you choose. Dates written with month names or as year-month-day are unambiguous.

    How are debit and credit columns combined?

    The amount is the credit minus the debit, using absolute values for both, so money in is positive and money out is negative whichever sign your bank prints.

    What if my bank shows spending as positive?

    Tick the option to flip the sign of every amount. Spending becomes negative and income becomes positive, matching most budgeting tools.

    What happens to rows it cannot read?

    They are skipped and listed with their row number and the reason, such as an unreadable date or a missing amount. The converted rows are still shown so you can check them.