How browsers word it
| Chrome and Node (V8) | Invalid Date |
|---|---|
| Firefox | Invalid Date |
| Safari | Invalid Date |
Common causes
A day-first date
31/12/2026 is read as month 31, which does not exist. Slash dates are not part of the standard, and engines read them as month first.
Input
31/12/2026
Timestamp Converter says
Not a timestamp or date
A month or day that does not exist
Month 13 or day 45 cannot be a date.
Input
2026-13-45
Timestamp Converter says
Not a timestamp or date
A date that is not on the calendar
Some engines silently roll 2026-02-30 over to 2 March, others report Invalid Date. This tool refuses it, so you do not get a wrong date.
Input
2026-02-30
Timestamp Converter says
Not a timestamp or date
Text that is not a date
undefined, null or a word gives Invalid Date. Check the value before you build the Date.
Input
hello
Timestamp Converter says
Not a timestamp or date
The ISO format works
Year, month and day in that order, with dashes, is always read the same way.
Input
2026-12-31
Timestamp Converter says
1798675200 seconds, 2026-12-31T00:00:00Z
How to fix it
- Write dates as ISO 8601: 2026-12-31 or 2026-12-31T12:00:00Z.
- For day-first input, split the text and build the date from numbers: new Date(2026, 11, 31).
- Check isNaN(date.getTime()) before you use a Date from outside your code.
- Paste the text into the timestamp converter to see whether it is a real date.