Weekday of a birthday in any year
Find which day of the week a birthday falls on in the year you choose: someone born on 17 May 1990 has their 2030 birthday on a Friday. Leap years follow the Gregorian rules throughout. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Runs in your browser. Free, unlimited — your data never leaves this page.
The birthday weekday calculator tells you which day of the week a birthday lands on in a year you choose. Supply the original birth date in explicit YYYY-MM-DD form and a target year, and it returns the birthday date, the English weekday name, and the ISO weekday number. The calculation uses fixed Gregorian calendar arithmetic rather than the machine clock, a time zone, or a locale, so identical inputs always produce identical results. This makes it useful both for quick personal planning and for repeatable software workflows.
Enter the birth date and the year you want to check
Start with a complete ISO birth date such as 1990-05-17. The four-digit birth year proves that the original date itself was valid, while the calculator takes the month and day as the recurring birthday. Then enter the calendar year you want to examine, from 1 through 9999.
The result includes a target birthday date in the same unambiguous YYYY-MM-DD style, a weekday name such as Friday, and an ISO weekday number where Monday is 1 and Sunday is 7. Keeping the original date and chosen year separate avoids a common ambiguity: you are not asking for the weekday on which the person was born unless the chosen year happens to equal the birth year. You are asking where that annual birthday falls in another specified year.
Inputs must use real Gregorian dates, including the correct number of days in each month. Values such as 2001-04-31, loosely formatted dates, missing years, and years outside the documented range are rejected instead of silently corrected. That strict behavior makes copied results easier to audit and prevents an accidental format guess from producing a plausible but wrong weekday.
Understand the deterministic Gregorian calculation
The calculation is performed with bounded integer calendar arithmetic. After validating the original birth date, the algorithm combines its month and day with the chosen year and computes the weekday under the proleptic Gregorian calendar. That means the modern Gregorian leap-year rules are applied consistently throughout the supported range: years divisible by four are usually leap years, century years are not, and years divisible by four hundred are leap years after all.
UTC is therefore a deterministic interpretation boundary rather than a source of shifting midnight behavior; there is no instant that can roll backward or forward when a host changes time zone. The ISO weekday number is useful for software, sorting, and calendar integrations because its convention is explicit. The English weekday name is convenient for display.
Both describe the same computed civil date, so callers can retain the machine-friendly number while presenting the readable name without performing another date conversion that could introduce time-zone errors.
Handle leap-day birthdays and use the result safely
A birth date of February 29 needs an explicit policy because that calendar date does not exist in an ordinary year. This capability reports an invalid-input error when the chosen year is not a leap year. It does not silently move the celebration to February 28 or March 1, because legal, cultural, and personal conventions differ and choosing one would change the question.
Select a leap year to ask for the weekday of the literal February 29 birthday, or make your own observed-birthday rule before calling a different date calculation. For all other valid month-and-day pairs, the birthday occurs once in every chosen year. The original birth year is not used to restrict the target year, so the tool can also answer historical or hypothetical calendar questions.
What you can do with it
Plan a birthday event
Check whether a birthday falls on a weekday or weekend before choosing an event date.
Build reliable reminders
Store the explicit target date and ISO weekday without relying on a server's time zone.
FAQ
Does the birth year affect the chosen year's weekday?
It validates the original date. The recurring birthday uses its month and day together with the chosen year.
Can a time zone change the answer?
No. The solver uses pure Gregorian integer arithmetic and creates no local or UTC timestamp that could cross a date boundary.
Which date format is accepted?
Use an explicit Gregorian ISO date in YYYY-MM-DD form, including leading zeroes for month and day.
How do I find the weekday I was born on?
Enter your birth date and use your birth year as the chosen year. The calculator then gives the weekday of the original birth date itself instead of a later birthday.
What does the ISO weekday number mean?
It numbers the days from Monday as 1 to Sunday as 7. A birthday on a Friday therefore shows 5, which is handy for sorting or for calendar software.
Related tools
For developers — API access
Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.
API endpoint
Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.
Call it from your stack
curl -X POST https://api.kit.forhosting.com/date/birthday-weekday \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"birth_date":"1990-05-17","year":2030}'const res = await fetch("https://api.kit.forhosting.com/date/birthday-weekday", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"birth_date": "1990-05-17",
"year": 2030
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/birthday-weekday",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"birth_date": "1990-05-17",
"year": 2030
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/birthday-weekday", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"birth_date":"1990-05-17","year":2030}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"birth_date":"1990-05-17","year":2030}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/birthday-weekday", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"birth_date": "1990-05-17",
"year": 2030
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.birthday_weekday",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.
Pricing
Published price — no tokens, no invented credits. A failed task is never charged.
Errors
| HTTP | Code | Meaning |
|---|---|---|
401 | unauthorized | Missing or invalid API key. |
402 | insufficient_balance | Your balance doesn't cover the task price. |
404 | unknown_type | That task type doesn't exist. |
429 | rate_limited | Too many requests. Use the webhook instead of polling. |
Technical notes
Handle leap-day birthdays and use the result safely
At $0.002 per API request, automated callers can reproduce the same output across environments. The browser implementation uses the same pure solver, keeping interactive checks and API results aligned.
Integration use cases
Create calendar test fixtures
Generate repeatable expected weekday values for birthday-related application tests.
Technical questions
What does the API request cost?
Each API request costs $0.002. The calculation is also suitable for the browser because it needs no external service.
What happens for a February 29 birthday in a non-leap year?
The request returns invalid_input because February 29 does not exist in that chosen year; no observed-date convention is assumed.
Which weekday numbering convention is returned?
The iso_weekday field uses ISO numbering: Monday is 1 and Sunday is 7.