Jet lag recovery calculator
Fly six time zones east and the rule of thumb gives 6 days to readjust; six zones west, only 3, because delaying sleep is easier than advancing it. Enter the zones crossed and the direction to plan your first days. Free in your browser.
- Free
- Runs in your browser
- No sign-up
- Your data stays on your device
Run — free
Worked example
- Zones crossed
- 6
- Direction
- East
- Direction label
- eastward
- Days per zone
- 1
- Recovery days
- 6
- Phase shift hours
- 6
This jet lag recovery calculator estimates how many days your body may need to realign after crossing time zones, using a simple deterministic rule based on zones crossed and travel direction. Eastward trips force a phase advance of the circadian clock and are modeled at one full recovery day per zone, while westward trips allow a phase delay and are modeled at half a day per zone, matching a widely cited travel-medicine heuristic rather than a personalized medical plan. Enter six zones east and you get six recovery days; six zones west yields three; zero zones yields zero. The engine uses only finite arithmetic with no network calls, no sampling, and no date-dependent shortcuts.
What jet lag recovery means and what you get
Jet lag is the temporary mismatch between your internal circadian clock and the local clock at your destination after you cross multiple time zones in a short flight or multi-leg itinerary. The practical question travelers and travel managers ask is not only how many hours the clock jumps, but roughly how many calendar days of foggy mornings and early awakenings to budget before performance and sleep feel normal again.
This calculator answers that planning question with a transparent rule of thumb: recovery days equal zones crossed times a direction factor of one point zero for eastward travel and zero point five for westward travel. Eastward travel is harder because the body must advance its phase (sleep and wake earlier relative to the home schedule), while westward travel is easier because delaying sleep is generally more natural for most adults.
If you need a full light-therapy schedule or melatonin protocol, consult clinical guidance outside this tool; this page stays focused on the days estimate so worksheets, APIs, and browser demos share one stable contract.
How zones and direction are read and how the estimate stays reproducible
Direction accepts east, eastward, and e for the harder eastward path, and west, westward, and w for the easier westward path; mixed case and surrounding spaces are normalized. Optional leading plus signs and scientific notation on numeric zone strings are allowed when they parse as finite decimals; embedded spaces, hex prefixes, and non-numeric tokens are rejected with a clear message so a bad cell does not become a wrong recovery window.
Zero zones is valid and returns zero recovery days, which is useful for same-zone domestic hops or for testing the contract. The formula string in every success response documents the factors so auditors can see that east equals one point zero day per zone and west equals zero point five day per zone without reading source code.
Where recovery-day estimates fit in planning, teams, and software
Leisure travelers meet this calculation when a long-haul booking shows a six or eight hour clock change and the only remaining step is how many quiet mornings to keep free before a wedding, race, or conference presentation. Corporate travel desks batch the same formula across multi-city routes to flag aggressive back-to-back meetings after eastward redeyes and to recommend buffer nights on the outbound leg. Sports teams and performing arts tours use direction-aware recovery days when an eastward series is harder than a westward swing of the same zone count.
Students and sleep-education workshops use the east-versus-west split to connect the textbook idea of phase advance and phase delay with a concrete number of days, including the classic six-zone east example that yields six recovery days and the six-zone west example that yields three. Product and education tools call the contract from scripts when a user picks origin and destination time zones and the app must show an estimated adjustment window without shipping a full clinical circadian model.
Pair it with timezone converters when you only need local clock math, and with other travel helpers when you are building a small lab of free, deterministic planning tools for trips, fuel, and recovery.
What you can do with it
Long-haul trip planning
Estimate recovery days for eastbound or westbound flights from the number of time zones crossed before you lock meetings or tours.
Corporate travel buffers
Flag aggressive itineraries after eastward redeyes and recommend buffer nights using a transparent days-per-zone rule.
FAQ
What does the jet lag recovery calculator cost?
It is free in your browser on this page.
How are recovery days computed?
Eastward travel uses 1.0 day per zone; westward travel uses 0.5 day per zone.
Why is eastward recovery longer than westward?
Eastward travel requires a circadian phase advance (harder for most people). Westward travel is a phase delay, modeled here at half a day per zone.
Is this a medical diagnosis or sleep plan?
No. It is a deterministic rule-of-thumb estimate for planning only. Individual recovery varies with age, light exposure, sleep debt, and itinerary.
Can I enter a half-hour time zone difference?
Yes. Fractional zones such as 5.5 are accepted, from 0 up to 24 zones. Each zone counts one recovery day eastward and half a day westward, fractions included.
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/travel/jet-lag-recovery \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"zones_crossed":6,"direction":"east"}'const res = await fetch("https://api.kit.forhosting.com/travel/jet-lag-recovery", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"zones_crossed": 6,
"direction": "east"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/travel/jet-lag-recovery",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"zones_crossed": 6,
"direction": "east"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/travel/jet-lag-recovery", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"zones_crossed":6,"direction":"east"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"zones_crossed":6,"direction":"east"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/travel/jet-lag-recovery", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Example request
{
"zones_crossed": 6,
"direction": "east"
}Example response
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "travel.jet_lag_recovery",
"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
max_zones | 24 |
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
Negative zone counts are rejected with invalid_input because a negative crossing is not a physical trip shift.
What jet lag recovery means and what the response contains
The response echoes the normalized zones_crossed value, the resolved direction and a human-readable direction_label such as eastward or westward, the days_per_zone factor applied, the estimated recovery_days, phase_shift_hours equal to the zone count for dual interpretation, a method tag jet_lag_recovery, a compact formula string for audits, and a short note that individual recovery varies. There is no approximate Monte Carlo path and no live weather or flight feed: the engine either builds a finite estimate inside the supported range or rejects the input with invalid_input. Rejected cases include missing zones or direction, non-finite values, magnitudes above twenty-four zones, unknown direction tokens, and any negative zones_crossed, because a negative count does not describe a real crossing.
How zones and direction are read and how the estimate stays reproducible
The preferred fields are zones_crossed for the number of time zones between origin and destination and direction for the travel heading, but aliases such as zones, time_zones, hours_shift, dir, travel_direction, and heading are accepted 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 without re-implementing east and west factors yourself.
Where recovery-day estimates fit in planning, teams, 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 trip planner demo to an automated pipeline without changing the mathematical result.
Integration use cases
Deterministic fixtures for apps
Generate reproducible recovery_days and direction fields for booking tools, sports logistics, and CI assertions.
Technical questions
What happens if zones_crossed is negative?
The input is rejected with invalid_input. A negative count of time zones does not describe a real trip shift.