AAnyToExcel
Convert

Why 03/04 Became 4 March in Your Spreadsheet

Published

03/04/2026 became 4 March because the file was written day-first, meaning 3 April, and your copy of Excel reads dates month-first, the US order. A CSV stores a date as plain text with no note of which order it uses, so Excel applies the date order of the computer that opens it.

Why does Excel swap the day and month in a CSV?

Excel swaps the day and month in a CSV when the file was written in one date order and the computer opening it is set to the other. Excel reads every date in a CSV using the short date format from the operating system's regional settings: month/day/year on a computer set to the United States, day/month/year on one set to the United Kingdom, France, Germany and most other countries.

The swap is silent for days 1 to 12, because both readings are valid dates. It becomes visible from the 13th: a month-first Excel cannot read 15/04/2026, so it leaves that cell as text, usually aligned to the left while the real dates are aligned to the right. One column then holds a mix of swapped dates and text.

What does the same CSV look like read two ways?

The same CSV read two ways gives two different spreadsheets. This file was exported on a computer set to day-first dates:

orders.csv
Order,Date
A-101,03/04/2026
A-102,12/04/2026
A-103,15/04/2026
orders.csv opened in Excel with two regional settings
Value in the CSVMeantExcel set to day-first (UK, France)Excel set to month-first (US)
03/04/20263 April 20263 April 20264 March 2026 (wrong, no warning)
12/04/202612 April 202612 April 20264 December 2026 (wrong, no warning)
15/04/202615 April 202615 April 2026Text 15/04/2026, not a date

Sorting the month-first result by date puts 4 March first and 4 December last, and leaves the text cell out of any date filter. Nothing in the sheet signals an error unless someone checks the values one by one.

What does Excel do with two-digit years?

Excel turns a two-digit year into a four-digit year with a fixed cut-off: by default on Windows, 00 to 29 become 2000 to 2029, and 30 to 99 become 1930 to 1999. So 03/04/29 is in 2029 and 03/04/30 is in 1930. A birth date list with 15/06/31 comes out as 1931, which is probably right; a contract end date written 01/01/35 comes out as 1935, which is not.

How do I import CSV dates in the right order in Excel?

To import CSV dates in the right order in Excel, use Data → From Text/CSV, click Transform Data, then change the date column's type with Using Locale and pick a locale that writes dates in the file's order. The locale tells Excel how to read the text; it does not change how the dates are displayed afterwards.

  1. On the Data tab, click From Text/CSV, select the file, and click Transform Data.
  2. Right-click the date column's header and choose Change Type → Using Locale….
  3. Set Data Type to Date and Locale to one that matches the file: English (United Kingdom) for day-first, English (United States) for month-first.
  4. Click OK, then Close & Load.

If the dates have already been swapped in an open sheet, re-import the CSV rather than trying to repair the cells. A swapped cell holds a real date value, and nothing in it records which part was the day.

How does AnyToExcel read dates in a CSV?

AnyToExcel reads dates in a CSV in two forms only: ISO dates such as 2026-04-03, with or without a time like 2026-04-03 14:30, and day-first dates with a four-digit year such as 03/04/2026, 3.4.2026 or 03-04-2026. A column becomes a date column only when every one of its first 200 non-empty values is a valid date in one of those forms, and the dates are written to the .xlsx as real Excel dates shown as yyyy-mm-dd.

How AnyToExcel treats common date formats
ValueAnyToExcel result
2026-04-03Date: 3 April 2026
2026-04-03 14:30Date and time: 3 April 2026, 14:30
03/04/2026Date: 3 April 2026 (read day-first)
15/04/2026Date: 15 April 2026
04/15/2026 (US)Not a date, because there is no month 15; the whole column stays text
31/02/2026Not a date, because 31 February does not exist; the whole column stays text
03/04/26Not a date; two-digit years are kept as text, never guessed
3 April 2026Not a date; dates with month names are kept as text

When a column is kept as text, every value is written exactly as it appears in the CSV. Nothing is lost, and nothing is turned into a date it was not. The CSV to Excel converter applies these rules to every file up to 5 MB, with no account.

Can any tool tell whether 03/04 is March or April?

No tool can tell whether 03/04 is March or April from that value alone, because when both numbers are 12 or lower, both readings are valid dates. The only evidence is elsewhere: another value in the same column with a number above 12, or knowing where the file came from.

AnyToExcel uses only the first kind of evidence. If any value in the first 200 rows of a column has a month above 12 when read day-first, such as 04/15/2026, the column cannot be day-first and is kept as text. If every value has both numbers at 12 or lower, AnyToExcel reads the column day-first.

That last case is a real limit: a US month-first file in which every day is between 1 and 12 is converted with the day and month swapped, and no warning is shown. A short export from a US system, such as one week of orders from 1 to 7 March, is exactly this case. If your file comes from a US system, check the first few dates after converting, or convert the dates to ISO 2026-03-04 before uploading. ISO dates are read the same way everywhere.