ISO week to date converter
Turn an ISO week label into a real calendar day: Monday of week 1 of 2024 is 2024-01-01, and Monday of week 1 of 2015 falls back to 2014-12-29. Week 53 is only accepted in years that have one. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Year
- 2,024
- Week
- 1
- Weekday
- 1
- Weekday name
- Monday
- Date
- 2024-01-01
- Calendar year
- 2,024
- Month
- 1
This ISO week to date converter maps an ISO-8601 week-numbering year, a week number from one to fifty-two or fifty-three, and an ISO weekday from Monday equals one through Sunday equals seven into the corresponding Gregorian calendar day as YYYY-MM-DD. ISO week dating is the standard used in logistics, payroll calendars, manufacturing schedules, and many European business systems: week one always contains the fourth of January, weeks always start on Monday, and some years hold a fifty-third week. You might already know that 2024 week one Monday is 2024-01-01, that 2015 week one Monday falls back into December 2014, and that a request for week fifty-three of a fifty-two-week year must fail.
How year, week, and weekday are read and how the date stays reproducible
Integer strings and safe bigints are accepted when they parse as whole numbers inside the documented ranges; decimals, empty strings, and non-numeric tokens are rejected so a bad cell does not become a wrong shipping day. Computation starts from the fourth of January of the week-year, finds its ISO weekday with Sakamoto-style pure integer arithmetic, steps back to the Monday of week one, then adds seven times week minus one plus weekday minus one days.
Ordinals that fall before the first of January or after the last of December are normalized across Gregorian year boundaries with full leap-year handling, including the four-hundred-year rule.
Where week-to-date conversion fits in planning, logistics, and software
Operations teams meet ISO week labels on purchase orders, delivery slots, and production plans that say week forty-two without naming a month. Finance and HR calendars often close periods by ISO week, and reporting tools must turn those labels into concrete start and end dates for filters and exports. Developers call the same contract from scripts to seed deterministic test vectors for date pickers, to normalize user-entered week strings before storage, or to satisfy programming-challenge statements that demand a calendar day rather than a hand-waved approximation.
Educators use it when teaching ISO-8601: students can check that week one always covers the fourth of January and that only long years accept week fifty-three. Product and integration tools use the conversion when a form collects year, week, and weekday and the backend must store a single YYYY-MM-DD for sorting and joins.
What you can do with it
Logistics and production schedules
Turn ISO week labels on orders and plans into concrete YYYY-MM-DD ship and production dates.
Payroll and reporting calendars
Resolve ISO week periods to Gregorian start and end days for filters, exports, and period closes.
FAQ
What does the ISO week to date converter cost?
It is free in your browser on this page.
When does week 53 get rejected?
When the ISO week-year has only 52 weeks.
Can the calendar year differ from the ISO week-year?
Yes. Days near year boundaries often fall in the previous or next Gregorian year while still belonging to the requested ISO week-year.
Does this tool convert a calendar date into an ISO week?
No. It only maps week-year, week, and weekday to a date. Use the ISO week number calculator for the inverse direction.
What do the three numbers I enter mean?
The first is the ISO week-year, the second the week number from 1 to 52 or 53, and the third the weekday, from 1 for Monday to 7 for Sunday. So 2024, 1 and 1 give 2024-01-01.
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/iso-week-to-date \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"year":2024,"week":1,"weekday":1}'const res = await fetch("https://api.kit.forhosting.com/date/iso-week-to-date", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"year": 2024,
"week": 1,
"weekday": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/date/iso-week-to-date",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"year": 2024,
"week": 1,
"weekday": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/date/iso-week-to-date", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"year":2024,"week":1,"weekday":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"year":2024,"week":1,"weekday":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/date/iso-week-to-date", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"year": 2024,
"week": 1,
"weekday": 1
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "date.iso_week_to_date",
"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.
Limits
year_min | 1 |
year_max | 9999 |
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
What ISO week-to-date conversion returns and when it fails
ISO-8601 week dating identifies a day by three numbers: the week-numbering year Y, the week number W from one through the last week of that year, and the weekday D where Monday is one and Sunday is seven. Week one of year Y is defined as the week that contains the fourth of January of Y, which is also the week that contains the first Thursday of Y; from that anchor the engine walks forward or backward by whole weeks and weekdays. Missing or non-integer year, week, or weekday values, weekdays outside one through seven, and years outside the supported one through nine thousand nine hundred ninety-nine range are also rejected. This converter resolves that triple into a single calendar date string in extended form YYYY-MM-DD, plus structured calendar year, month, and day fields, the human weekday name, the canonical iso_week_string such as 2024-W01, and the weeks_in_iso_year count used for validation. Near year boundaries the Gregorian year of the result can differ from the ISO week-year: for example Monday of 2015-W01 is 2014-12-29, and Friday of 2020-W53 is 2021-01-01. The request is rejected with invalid_input when the week number exceeds the year's week count—most years have fifty-two weeks, and only years whose first or last day is a Thursday have fifty-three—so 2024 week fifty-three fails because 2024 has only fifty-two weeks.
How year, week, and weekday are read and how the date stays reproducible
The preferred fields are year for the ISO week-numbering year, week for the week number, and weekday for the ISO day of week, with aliases iso_week_year, week_year, and y for year; iso_week, week_number, and w for week; and iso_weekday, day, and dow for weekday so spreadsheets, query strings, and typed forms can reuse the same contract. Pair the free browser run on this page with the priced API when you need the identical mathematical result inside an automated pipeline, ERP connector, or payroll calendar generator without shipping a second calendar library.
Where week-to-date conversion fits in planning, logistics, and software
On this page the work runs entirely in your browser; through the API each successful lookup costs $0.002, failed validation is not charged, and nothing is stored after the response returns. That split—free interactive exploration and a priced, identical API—matches the rest of the KIT tier-A catalog and lets you move from a planning demo to an automated pipeline without changing the mathematical result. Pair it with the ISO week number calculator when you need the inverse mapping from a calendar date to week and week-year, and with other date endpoints when you are building a small lab of free, deterministic calendar helpers.
Integration use cases
Deterministic test fixtures
Generate reproducible calendar dates from year/week/weekday triples for unit tests and CI assertions.
Technical questions
How are year, week, and weekday defined?
Year is the ISO week-numbering year, week is 1 through 52 or 53, and weekday is Monday=1 through Sunday=7 per ISO-8601.