Find out whether a column of dates is day first, month first or year first, then rewrite every row as ISO 8601.
The tool reads the whole column you paste, decides whether the dates are day first, month first or year first, and rewrites every row as an ISO 8601 date such as 2026-03-17. A single date like 04/05/2026 cannot tell you its order, because both 4 May and 5 April are real days. A column often can. A row such as 17/03/2026 has a first number above 12, which cannot be a month, so it is day first. A row such as 03/25/2026 has a second number above 12, so it is month first. A four-digit number at the start, as in 2026-03-17, means the year comes first. The tool counts these proofs across all rows and applies the winner to the rows that prove nothing. A row where day and month are equal, such as 05/05/2026, reads the same either way and is never flagged. A dot as the separator, as in 04.05.2026, is treated as a weak hint for day first, used only when no row proves the order. Two-digit years use a pivot that you can change: with 68, the years 00 to 68 mean 2000 to 2068 and 69 to 99 mean 1969 to 1999, the rule that Python's strptime documents for the POSIX standard.
Take four rows: 17/03/2026, 04/05/2026, 25/12/2025 and 01/02/2026. Row 1 can only be day first because 17 is not a month, and so can row 3 because of the 25. That is two proofs for day first and none for month first, so the column is day first and rows 2 and 4 become 2026-05-04 and 2026-02-01. The page opens with these four rows plus 31/04/2026, which fails in every order because April has 30 days; it is left blank in the result and listed in the table with the reason. If you paste only rows 2 and 4, nothing proves the order. The tool then uses the choice under If nothing settles it (day first by default), marks both rows as guesses in the table, and says so in the report. Choosing the order yourself under Day and month order removes the guesses.
Month names work in English, Spanish, French, German, Portuguese, Italian and Dutch, in full or abbreviated, with ordinals and filler words: 17th of March 2026, March 17, 2026, 17 de marzo de 2026 and 17. März 2026 all give 2026-03-17. The month names come from Unicode CLDR 44.1.0. ISO week dates such as 2026-W12-2, ordinal dates such as 2026-076 and compact 20260317 are read. Bare numbers depend on the setting Bare numbers are. In Auto, 5 digits is an Excel serial, 9 or 10 digits are Unix seconds, 12 or 13 digits are milliseconds and 8 digits is YYYYMMDD. Excel serials use the 1900 system by default, where 40729 is 5 July 2011, or the 1904 system, where the same day is 39267. Times such as 14:05, 2:30 PM or T10:30:00+05:30 are kept as written when you choose the date and time output; the tool does not convert time zones. A row with a date but no time stays a date.
It reads one date per cell and years from 1000 to 9999. A month and year without a day, or a day and month without a year, fails and is listed with the reason. A bare number with 4, 6 or 7 digits is refused in Auto, because it could be a year or a serial; pick Excel serials, Unix seconds or Unix milliseconds if that is what the column holds. Excel serial 60 is refused because it stands for 29 February 1900, a day that never existed. A column of two-digit years with every number 12 or less cannot be settled by any row, so the tool guesses and flags every one. Up to 50,000 rows and 1,000,000 characters are accepted. An AI agent can open this page with the dates prefilled by adding #input= and the URL-encoded text to the address.
A single date cannot tell you. Look at the other dates from the same source: if any has a first number above 12, such as 17/03/2026, the source writes the day first, and if any has a second number above 12, such as 03/25/2026, it writes the month first. Paste the whole column here and the tool does that count for you.
Both of its numbers are 12 or less and no other row proves the order, for example a column that holds only 04/05/2026 and 01/02/2026. The row is converted with the order under If nothing settles it, day first by default, and listed in the table. Pick Day first or Month first under Day and month order if you know the source.
Paste the numbers one per line. In Auto, a 5-digit number is read as an Excel serial in the 1900 system, so 45000 becomes 2023-03-15. For workbooks from older Mac Excel, set Excel date system to 1904, where 39267 is 2011-07-05. Serials with 4, 6 or 7 digits need Bare numbers set to Excel serials.
It depends on the pivot. With the default 68, the years 00 to 68 mean 2000 to 2068. Read on its own, 17/03/26 is day first, 17 March 2026 (it could also be year first, 2017-03-26, because 17 cannot be a month and 26 can be a day), and 17/03/69 is 17 March 1969. If the same column has a row such as 99/12/31 that can only be year first, the whole column is read year first and 17/03/26 becomes 2017-03-26. Change Two-digit years to 40 and 45 becomes 1945 instead of 2045. The report counts how many rows used a two-digit year.
Set Input is to Table, paste the CSV, type the column number (counted from 1) and tick First row is a header. The comma, semicolon, tab or pipe is found from the first line. Switch on Return the whole table to get every column back with only that one replaced; rows that fail keep their original text.
No. It is processed in your browser, in this tab, and no server receives it. Your choices are saved in this browser, the text is not.