CSV Date Format Normalizer

Detect and normalize inconsistent date columns in CSV to ISO 8601.

Free CSV date normalizer. Auto-detect date columns, infer per-column formats (DD/MM/YYYY, MM/DD/YYYY, textual months, dotted), and rewrite every value to ISO 8601 YYYY-MM-DD. Ambiguous rows are flagged. Runs entirely in your browser. It runs free in your browser on Gera Tools, with nothing uploaded.

Last updated Source: Gera Tools

How does it tell which column is a date column?

It tries to parse every cell in each column. If at least 60 percent of the non-empty cells parse as a date, the column is treated as a date column. This avoids accidentally rewriting ID or amount columns that occasionally look date-like.

Spreadsheets and exports often mix date formats in the same column — 12/03/2024 next to 2024-03-12 next to 3 Apr 2024. That breaks sorting, imports, and analysis. This CSV date normalizer detects the date columns and rewrites every value to clean ISO 8601 (YYYY-MM-DD), entirely in your browser.

How it works

  1. Parse the CSV with a small parser that respects quoted fields and embedded commas.
  2. Classify columns. Each column is scanned; if most of its non-empty cells parse as dates, it is treated as a date column. Non-date columns are passed through untouched.
  3. Resolve day-month order. The hardest part of date cleaning is telling DD/MM from MM/DD. The tool uses unambiguous cells — any value with a part greater than 12, like 25/03/2024 — to vote on the column’s true order, then applies that decision to the ambiguous cells.
  4. Rewrite to ISO 8601. Every recognised date becomes YYYY-MM-DD, validated against real month lengths and leap years so impossible dates are rejected.

Why mixed date formats are so common

The slash-delimited date 03/04/2024 is read as 3 April in the UK and most of Europe, but as 4 March in the United States. When a dataset is assembled from contributors in different countries — or when a spreadsheet is opened in different locales — Excel and Google Sheets silently interpret the same string according to the system locale, then re-save it in whatever format the local setting dictates. After a few such round-trips a single date column can contain ISO, US, European, and textual formats simultaneously.

The only reliable fix is to normalise everything to ISO 8601, which sorts lexicographically, is locale-independent, and is accepted by every database and import tool without ambiguity.

Supported input formats

FormatExample
ISO 86012024-03-25
European slash25/03/2024
US slash03/25/2024
Dotted European25.03.2024
Short textual month3 Apr 2024
Long textual monthMarch 25, 2024
Two-digit year25/03/24 (treated as 20XX if ambiguous century)

Two-digit years are a known ambiguity. The tool interprets 00–49 as 2000–2049 and 50–99 as 1950–1999, which matches the convention used by most spreadsheet applications. If your data spans a wider range, review the flagged rows manually.

What flagged rows mean

Every cell the tool cannot classify unambiguously is marked with a warning in the output. There are three reasons a cell gets flagged:

  • Ambiguous order and no majority signal — both day and month parts are ≤ 12, and the column’s other rows are split evenly between DD/MM and MM/DD evidence.
  • Impossible date — the parsed values would require a day or month that does not exist (for example, month 13 or 31 February).
  • Unrecognised format — the cell does not match any supported pattern at all.

Flagged cells are left exactly as they were; the tool never silently commits a wrong date, because a silent wrong date is worse than a missing one.

Tips and notes

  • Cells that stay ambiguous (both parts ≤ 12 with no majority signal) and cells that cannot be parsed are marked with a so you can review them — nothing is silently guessed wrong.
  • Supported inputs include YYYY-MM-DD, DD/MM/YYYY, MM/DD/YYYY, dotted DD.MM.YYYY, and textual months like 3 Apr 2024 or April 3, 2024.
  • Leap years are handled correctly, so 29/02/2024 is accepted but 29/02/2023 is flagged as invalid.
  • The whole process is local, making it safe for customer lists, invoices, and other confidential CSVs.