Set up your calendar below — pick a country for holidays, then load your events via URL, file, or demo data using the dropdowns.
For each band, choose URL to fetch a webcal link, File to load from your device, Demo to explore with sample data, or Clear to remove events.
How to use
Year navigation
Use the < and > buttons in the header bar to move between years.
Holidays
Choose your country from the Holidays dropdown. The selection is saved and holiday data is cached locally for 30 days.
Events
Each event band has a dropdown with four options:
URL — enter a webcal:// or https:// calendar link and click Fetch;
File — upload a .ics file from your computer;
Demo — load sample data to see how the calendar looks;
Clear — remove loaded events.
Committed (green) is for confirmed events; Possible (yellow) is for tentative ones.
URLs are saved and automatically reloaded on your next visit.
Reading the calendar
Each row is one ISO week (Mon–Sun). Red text = public holiday.
Blue background = first of the month.
Green = committed event.
Yellow = possible event.
When green and yellow overlap, the cell is green with a yellow border.
Bold red text in the Possible column = date conflicts with a committed event.
Font size
Use A− / A+ in the header bar. Range: 10–24px.
Printing
All controls and this help section are hidden when you print. Colors are preserved.
Privacy & data
Your data stays in your browser
This app stores your preferences (country, calendar URLs) and cached holiday data in your browser's local storage. This data is purely functional — it exists so the app works between visits. It is not used for tracking, analytics, or advertising, and is never sent to third parties.
Calendar URL proxy
When you fetch a calendar by URL, the request is routed through this site's server to work around browser security restrictions (CORS). The server forwards the request to your calendar provider and returns the data to your browser. The server does not store, log, or retain your calendar URLs or event data. If your URL contains authentication tokens (as iCloud URLs do), be aware the server briefly sees them in transit.
Holiday API
Holiday data is fetched from Nager.Date, a free public API. Requests go directly from your browser to their servers. Results are cached in your browser for 30 days to minimize API calls.