RandomBasis

Date to draw

Random Date Generator

Pick a random date between any two dates — skip weekends, choose a format, draw a batch.

Runs locally in your browser. Nothing you generate is ever sent to a server.

Press "Generate" to draw a date.

Quick ranges

Format

About this random date generator

Set a start and an end date, press Generate, and you get a fair draw from every day in between. Both ends of the range are included, so a range of 1 to 31 March can return the 1st or the 31st just as easily as any day in the middle.

Generating a random birthday

Picking a random date of birth is one of the most common reasons people reach for a tool like this — for test data, for a fictional character, or for a game. Set the range to the birth years you need and every draw gives a complete date. The "Birthday 18–65" quick range fills in the years for an adult automatically, so you do not have to work out the arithmetic yourself.

Skipping weekends

Deadlines, deliveries and appointments usually fall on working days. Switch on "Weekdays only" and every Saturday and Sunday is removed from the pool before anything is drawn, rather than being drawn and then rejected — so the remaining weekdays each keep an equal chance.

Drawing several dates at once

Raise the quantity to draw up to 100 dates in one press. Leave repeats on and each date is drawn independently, so the same day can appear twice. Switch on "No repeats" when you need a set of distinct dates — for scheduling a series of events, or sampling days from a period. That mode needs a range holding at least as many days as you asked for, and the tool tells you when it does not.

Date formats

Results can be shown as 15 March 2024, March 15, 2024, 15/03/2024 or 2024-03-15. The ISO format is the one to pick when the dates are going into a spreadsheet or a database, since it sorts correctly as plain text. Single results also show the weekday, which saves checking a calendar.

Common uses

How the randomness works

Every day inside the range is listed first — after weekends are removed if you asked for that — and the draw is made from that list using your browser's cryptographic random source. Values that would fall outside a clean multiple of the list length are discarded and redrawn, which removes the bias that makes simple generators favour the earliest dates. Dates are handled as whole days in UTC, so a result never shifts by one because of your timezone.

How do I generate a random date between two dates?

Set the start and end date, then press Generate. Any day inside that range can come up, including the start and end days themselves.

Can I generate a random birthday?

Yes. Set the range to the birth years you want, for example 1 January 1980 to 31 December 2005, and each draw gives a full random date of birth.

Can I skip weekends?

Yes. Switch on "Weekdays only" and Saturdays and Sundays are removed before anything is drawn, which suits work deadlines and delivery dates.

Can I get several dates at once without duplicates?

Yes. Raise the quantity and switch on "No repeats". Every date in the batch will then be different, as long as the range holds that many days.

What date formats can I choose?

Long (15 March 2024), US style (March 15, 2024), numeric (15/03/2024) and ISO (2024-03-15). The weekday is shown alongside single results.

Is the date actually random?

Yes. Every day in the range is listed first, then one is chosen with your browser's cryptographic random source using rejection sampling, so no day is favoured.