{{ summaryHeading }}
{{ summaryPrimary }}
{{ summaryLine }}
{{ badge.label }}
Window start Control {{ activeLimit }} cap {{ windowUsageMarker }}
Schengen stay inputs
Start with a frequent-traveler sample, official worked example, exhausted-window case, or a blank ledger.
Use Auto detect when the paste may contain either ISO ranges or official-style stamp tokens.
Examples: 2026-01-10 to 2026-01-24 Paris or +100126 -240126. Do not enter long-stay visa or residence-permit periods.
Use today for a current audit, or a border-control/check date from your itinerary.
Set the next entry and planned exit; same-day entry and exit counts as one day.
Keep the standard 90-day limit for normal short stays; custom is only a local what-if threshold.
days
Turn off for a past-stays-only control check.
{{ includeProposedBool ? 'On' : 'Off' }}
Official calculators normally need an exit date; control-date closure is useful for an ongoing stay audit.
Choose ISO for audit trails, long dates for reading, or day/month/year for travel paperwork.
Use full detail for audits or first 50 rows for a shorter screen table.
MetricValueCopy
{{ row.metric }} {{ row.value }}
SourceEntryExitDaysCurrent windowCopy
{{ row.source }} {{ row.entry }} {{ row.exit }} {{ row.days }} {{ row.window }}
CheckResultDetailCopy
{{ row.check }} {{ row.result }} {{ row.detail }}

        
Customize
Advanced
:

Introduction

Schengen short-stay planning is a rolling date problem, not a calendar-month allowance. A trip can look safe on the entry date and become risky before exit because each day of presence is checked against the 179 days before it. For most third-country short-stay visitors, the total inside that moving 180-day span must stay at or below 90 days.

The common mistake is treating departure as a reset. Leaving the Schengen Area stops adding new presence days, but older days remain in the lookback until their calendar dates age out. A traveller who used many days in January may still be carrying part of that stay into June, while another traveller with the same number of total trips may have more room because the stays are spaced differently.

Short stay
A visit normally limited to 90 days in any 180-day period, either without a visa or under a short-stay visa.
Schengen Area
The shared short-stay area currently covering 29 countries, including Iceland, Liechtenstein, Norway, Switzerland, Bulgaria, and Romania.
Control date
The date being checked, such as today, a border-control date, or a proposed entry date.
Rolling window
The 180-day span ending on the control date, including the control date itself.

Country choice matters less than many travellers expect. Short stays in Schengen countries are counted together rather than per country, so five days in France and five days in Switzerland are ten Schengen days. The current Schengen Area has 29 countries, including four associated non-EU countries. Cyprus and Ireland are outside the Schengen short-stay area, while residence-permit and long-stay visa periods follow separate rules and should not be mixed into an ordinary short-stay count.

Rolling 180-day Schengen window with past stay days, planned stay days, and the 90-day cap

Several small mistakes can change the answer. The entry date and exit date both count as stay days. An overnight arrival followed by a departure after midnight uses two calendar dates. Overlapping log entries need to be treated as the same day of presence, not counted twice. A short-stay visa can also grant fewer days than the general 90-day maximum, so the visa sticker must be checked separately.

The count is useful evidence for planning, but it is not permission to enter or remain. Border guards and immigration authorities still apply the full entry conditions, including passport validity, visa validity, purpose of travel, residence status, alerts, means of subsistence, and any country-specific rule that applies to the traveller.

How to Use This Tool:

Use the calculator as a travel-log audit first, then test a proposed trip only after the past stays look correct.

  1. Choose a Scenario preset only if you want an editable example. Pick Blank ledger before entering a real itinerary from passport stamps, bookings, or border records.
  2. Set Input format to Auto detect ranges or stamps when pasting mixed notes. Use Date ranges, one stay per line for entries such as 2026-01-10 to 2026-01-24 Paris, or Passport stamps for +DDMMYY and -DDMMYY tokens.
  3. Paste only Schengen short-stay presence into Schengen stay log. Leave out long-stay visa and residence-permit periods when they are outside the ordinary short-stay calculation.
  4. Set the Control date. Use today for a current audit, a past date to reconstruct a border-control question, or the first planned travel date when testing a future entry.
  5. Enter a Proposed trip when planning. Keep Include proposed trip on to let Control Ledger, Stay Windows, Rolling Limit Map, and Re-entry Planner include those future days.
  6. Keep Standard 90 days for the normal Schengen rule. The custom limit is only a local what-if setting and does not change the legal short-stay limit.
    Use a lower custom limit only to model a visa sticker or private safety buffer. Do not use it to override official 90/180 counting.
  7. Open Advanced when an ongoing stay has no exit date. Treat missing exit as control date can close that stay for an audit; Require every exit date rejects incomplete entries.
  8. Fix validation messages before relying on the result. Missing exits, invalid dates, exit dates before entry, unmatched stamp tokens, and overlapping days all need review in the travel log.

Interpreting Results:

Days used in window is the current count for the 180-day period ending on the control date. Days remaining on control date subtracts that count from the active limit, so it is useful for a same-day audit but not enough for a whole future itinerary.

A clear control-date result can still hide a later problem. When a proposed trip is included, Peak rolling count in checked itinerary and Over-limit scan show whether any day in the combined past-and-planned itinerary rises above the limit.

  • Stay Windows helps verify the raw log. Compare the entry, exit, inclusive days, and current-window contribution against the passport or travel record.
  • Latest safe exit from proposed entry is the last date the continuous proposed stay can reach without exceeding the active limit.
  • Earliest one-day entry is the first future date from the control date where one new Schengen day would fit.
  • Full allowance date is the first date where a continuous run up to the active limit can fit as old stay days fall outside the rolling window.

Treat warnings as part of the result. An overlap warning may be harmless if you intentionally duplicated a record, but an unmatched exit, wrong year, or non-Schengen stay in the log can change every downstream row.

Technical Details:

Schengen short-stay counting is inclusive date arithmetic. A reference date defines a 180-day window by taking that date and the 179 calendar days before it. Each stay contributes only the part that overlaps this window, and the total must stay at or below the applicable day limit.

Planning is stricter than a single remaining-days check because every proposed stay day becomes a new reference date. The count may rise when a new travel day is added, stay flat when an old day drops out at the same time, or fall after old stays leave the window.

Formula Core:

The rolling window for a reference date R is the inclusive span from R - 179 through R.

W=[R-179,R]

For stay i, E is the entry day, X is the exit day, and C is the number of counted days from that stay inside the rolling window.

Ci = max(0, min(Xi,R) - max(Ei,R-179) +1)

The used-days total is the sum of counted overlaps after overlapping stay ranges have been merged. Under the standard rule, the total must be no more than 90.

U= i=1n Ci , valid:U90

For example, a stay from 2025-12-20 to 2026-01-10 checked on 2026-06-30 contributes only 2026-01-02 through 2026-01-10, because the window begins on 2026-01-02.

Rule Boundaries:

Schengen 90/180 calculation boundaries
RuleBoundaryEffect
Entry and exit daysBoth inclusiveA same-day entry and exit counts as one day; an overnight trip can count as two dates.
Rolling windowReference date minus 179 days through reference dateThe checked interval is exactly 180 calendar days.
Standard capused days <= 90Counts at 90 are still within the general limit; 91 is over the limit.
Custom cap1 to 90 daysSupports local what-if checks without changing official Schengen rules.
Proposed tripEvery day from proposed entry through proposed exitThe highest rolling count during the itinerary controls the warning.
Duplicate or overlapping recordsSame calendar day counted onceOverlapping log lines are merged before the used-days total is calculated.

Input Interpretation:

Accepted Schengen stay log input forms and validation behavior
Input pathAccepted formValidation behavior
Date rangesYYYY-MM-DD, YYYY/MM/DD, DD.MM.YYYY, or DD/MM/YYYY dates on each lineThe first date is entry and the second date is exit. A missing exit can be closed on the control date or rejected.
Passport stamps+DDMMYY for entry and -DDMMYY for exitTokens are sorted by date, then paired as entry followed by exit. Unmatched exits and repeated entries before an exit are flagged.
Auto detectAny log containing stamp tokens uses stamp parsing; otherwise range parsing is usedUse a fixed input format if mixed notes cause the wrong parser to run.
Open staysEntry without exitControl-date closure is useful for an ongoing-stay audit. Strict mode requires every exit date.

Two-digit stamp years are interpreted as modern dates unless the suffix is 70 or higher, where older 1900s dates are used. That helps ordinary passport stamps, but it also means old archive records deserve a manual year check before export or travel planning.

Limitations and Privacy Notes:

This calculator covers the general short-stay 90/180 arithmetic only. It does not decide whether a traveller has a valid right to enter, remain, work, study, transit, or benefit from a country-specific exception.

  • Short-stay visa holders must also check the visa sticker validity period and authorised days if those are shorter than 90 days.
  • Residence permits, D-type visas, bilateral waiver arrangements, family-member rights, and national rules can change the legal answer.
  • The result depends on the entered dates. Missing stamps, incorrect years, and non-Schengen travel mixed into the log can make the count wrong.
  • Calculations, chart data, and exports are generated in the browser for the current page session.
  • Travel history can be sensitive. Review exported CSV, DOCX, chart, JSON, and copied rows before sharing them.

Worked Examples:

Frequent traveller audit. A log with 2026-01-10 to 2026-01-24 Paris and 2026-03-05 to 2026-03-28 Madrid, checked on 2026-05-01, has Days used in window of 39 of 90. Days remaining on control date is 51, and Stay Windows should show 15 days for the first stay and 24 for the second.

Twenty-day return after three earlier stays. A traveller who stayed 2024-01-01 to 2024-01-10, 2024-03-01 to 2024-03-30, and 2024-05-01 to 2024-06-09 has 80 of 90 days used on 2024-06-19. A proposed trip from 2024-06-19 through 2024-07-08 can still show Over-limit scan as Clear, because early January days begin dropping out while the new trip continues.

Allowance just exhausted. A continuous stay from 2026-01-01 through 2026-03-31 uses all 90 days. On 2026-04-01, Days remaining on control date is 0. The Re-entry Planner should point to 2026-06-30 as the first date where a one-day entry, and then a full continuous allowance, can fit again.

Missing stamp exit. A stamp log such as +100126 -240126 +050326 has a second entry without a matching exit. With Require every exit date, the log is rejected. With Treat missing exit as control date, the ongoing stay is closed on the control date and the warning should be reviewed before the result is used.

FAQ:

Do entry and exit dates both count?

Yes. A short-stay entry date is the first counted day and the exit date is the last counted day, even if the arrival or departure happened late in the day.

Does leaving Schengen reset the 90 days?

No. Old stay days fall outside the 180-day lookback one calendar day at a time. A continuous 90-day absence normally creates room for a fresh 90-day stay, but shorter absences need a rolling-window check.

Why can a proposed trip fit when only 10 days are remaining today?

During a future trip, older days may leave the rolling window while new days are added. Review Peak rolling count in checked itinerary, Latest safe exit from proposed entry, and Over-limit scan instead of relying only on today's remaining-days number.

What does a passport stamp token error mean?

Stamp mode expects +DDMMYY for entry and -DDMMYY for exit. If the message says no stamp tokens were found, switch to date ranges or rewrite the pasted stamps with plus and minus signs.

Should long-stay visa or residence-permit dates be entered?

No, not for ordinary 90/180 counting. Those periods are handled under separate rules, and adding them to Schengen stay log can make the short-stay count misleading.

Can this replace official guidance?

No. Use it to audit dates and spot likely problems, then compare important plans with official calculators, visa paperwork, residence status, and the relevant immigration authority.

Glossary:

Short stay
A Schengen visit usually limited to 90 days in any rolling 180-day period.
Third-country national
A traveller who is not a citizen of an EU or Schengen-associated country for border-code purposes.
Rolling 180-day window
The 180 calendar days ending on the date being checked.
Control date
The specific date whose backward-looking window is being audited.
Passport stamp token
A compact entry or exit date written as +DDMMYY or -DDMMYY.
Proposed trip
Future entry and exit dates tested against the rolling limit.
Over-limit scan
The result check that reports whether any checked stay day exceeds the active day limit.

References: