Every day this year equally probable. Generated entirely in your browser.
A uniform random date treats every day in the range as equally likely. January 1 has the same probability as July 14 or December 31. For a single year of 365 days, each day carries a 1/365 chance. For a range spanning 26 years (2000 through 2025), roughly 9,497 days compete equally. The generator accounts for leap years automatically: leap-year February 29 appears as a candidate whenever the range includes a year divisible by 4 (with the century exception). Every day gets its fair share.
In 1582, Pope Gregory XIII reformed the Julian calendar to correct an accumulated drift of 10 days. The Gregorian rule is precise: a year is a leap year if divisible by 4, except centuries, which must be divisible by 400. The year 2000 was a leap year (divisible by 400). The year 1900 was not (divisible by 100, not 400). The year 2100 will not be. This three-tiered rule produces an average year length of 365.2425 days, accurate to within 26 seconds per year. The drift accumulates to one full day every 3,236 years.
When this tool generates a random date in February, it checks the leap year status of the target year before selecting the day. February in a leap year has 29 candidates. February in a common year has 28. The probability adjusts automatically.
Given any date, computing the weekday is a classic algorithmic puzzle. John Horton Conway, the Cambridge mathematician famous for the Game of Life, invented the Doomsday Algorithm: a mental calculation technique that finds the weekday for any date in history. The key insight is that certain dates always fall on the same weekday within a given year (4/4, 6/6, 8/8, 10/10, 12/12, and the last day of February all share a weekday). Once you know that anchor, the rest follows from simple arithmetic. The weekday shown above each generated date uses your browser's built-in calendar engine, which applies the same underlying mathematics.
The date format shown below the calendar, YYYY-MM-DD, follows ISO 8601, the international standard for date representation. This format sorts correctly as plain text, eliminates month-day ambiguity between American (MM/DD) and European (DD/MM) conventions, and works natively in every programming language and database. When you click the ISO date, it copies to your clipboard ready for immediate use in code, spreadsheets, or documentation.
Generate 23 dates from /date and ask students whether any two share the same month and day. The birthday paradox, introduced by Richard von Mises in 1939, predicts roughly a 50% chance of a match in a group of 23. This counterintuitive result surprises students and opens a productive discussion about combinatorial probability. The tool generates dates from the current year, so the month-day distribution maps directly to the birthday problem.
For a statistics lesson, generate 50 dates and examine the month distribution in the statistics panel. With uniform random selection, each month should receive roughly 1/12 of the dates. February receives slightly fewer (28 or 29 days vs 30 or 31), creating a subtle non-uniformity that sharper students will detect. Ask why, and the conversation leads naturally into weighted probability and the structure of the Gregorian calendar. The tool requires no accounts, stores no data, and sets no cookies.
Every date on this page comes from your browser's own random number generator via crypto.getRandomValues(). The server delivers the page. Your device picks the date. The server never learns which date you received. Your history lives in localStorage on your device, under your control alone.
The URL defines the range completely:
Send the link. They get the same range, a different date. Compare what the universe picks.
Daily Inspiration
Jury-selected work from the A' Design Award, presented fresh each morning.