Generate random dates for test data with a chosen range, count and format, plus sorting and duplicate removal
Dates are drawn from the start and end dates you set, inclusive of both ends. If the start is later than the end the two are swapped automatically. The maximum count is 1000, and randomness comes from crypto.getRandomValues.
Date-only formats (YYYY-MM-DD, slash separated, or eight digits) pick whole days with no time component. Formats that include a time (date-time, ISO 8601, Unix time) also pick a moment within that day. Choose whichever pastes cleanly into your CSV column or SQL INSERT.
Sorting ascending produces the kind of ordering you would see in a log or history table. Duplicate removal compares the formatted strings, so date-only formats collapse repeats of the same day. The output can therefore be shorter than the count you asked for; refilling the gap would skew the distribution across the range, so the tool deliberately does not do it.
No. Choosing the range, drawing the random numbers and formatting the output all happen inside your browser. Nothing is sent to or stored on a server.
Yes. With date-only formats, duplicates become more likely as the range shrinks and the count grows. Enable Remove duplicates if you need unique values, keeping in mind that the output may then be shorter than the requested count.
Everything is computed and displayed in UTC. Converting to local time can shift a date-only value to the previous or next day, which is rarely what you want in test data. Unix time is also seconds since the UTC epoch.