The Transfer Clock is designed around a small principle: a precise, sourced date is more useful than a large feed whose origin is unclear.

Source priority

We use the following order when sources disagree:

  1. A current announcement from the league or competition.
  2. A current announcement or registration circular from the national association.
  3. FIFA’s association-level transfer-window calendar.
  4. Reputable reporting only as a pointer toward an official source.

Each league record contains the source used for its displayed deadline. FIFA explains that its global calendar is populated from dates entered by member associations, but those dates can be broader than a competition-specific deadline.

Date storage

Published windows are stored in data/windows.json. Every opening and closing value is a complete ISO 8601 timestamp with an explicit offset, such as +01:00 or +02:00. This prevents a visitor’s browser timezone from silently changing the instant used by the countdown.

The site does not assume that next season will repeat this season’s dates. When the final known window passes, the card says that the next schedule is pending rather than inventing a date.

FIFA synchronization check

The repository includes a maintenance script that downloads the structured registration-period information embedded in FIFA’s transfer-window page. It selects the men’s professional records for the tracked national associations and compares them with the local league records.

The script is deliberately conservative:

  • Existing dates are never overwritten automatically.
  • Differences are printed for human review.
  • A write operation can append a newly published future period.
  • Exact closing times are inherited from a reviewed league pattern because FIFA’s calendar is primarily date-level data.

This protects competition-specific information. For example, an association window may remain open beyond the deadline published for its top league.

Choosing the active window

For each league, the browser compares the current instant with every confirmed opening and closing timestamp. If the current instant falls inside a period, that period is marked open. Otherwise, the first future period becomes the upcoming window. If neither exists, the schedule is marked pending.

The calculation runs when the page loads, on each clock minute, when a window boundary is reached, and when a visitor returns to the tab.

Corrections

Official schedules can change. If you find a discrepancy, please send the official source through the corrections form. A reported date is checked against the governing body before the public data is changed.

The Transfer Clock is independent and is not affiliated with FIFA, UEFA, any league, or any club.