Types of holidays — not every "holiday" closes the office
The tool above tags each date with a type. The distinction matters because "is this day a holiday?" has different answers depending on whether the question is about HR, banking, education, or marketing. The five most common categories:
| Type | What it means in practice |
|---|
| Public | Recognized by national law. Most workplaces close and pay is required. |
| Bank | Banks close but many shops and offices stay open. Common in the UK (Bank Holidays) and parts of Europe. |
| School | Schools close but the day is otherwise a working day. Used for in-service training, regional festivals. |
| Optional | Recognized but observance is voluntary — many states or employers honor it, but it is not nationally required. |
| Observance | Acknowledged date (Mother's Day, Earth Day) but not a day off. Useful for marketing and scheduling, not for HR. |
Fixed dates, weekday-anchored rules, and astronomical events
Holidays divide into three calendar-arithmetic families. Fixed Gregorian dates (Christmas, July 4th, Korean Liberation Day on August 15) move with the day of the week from year to year but keep their calendar date. Weekday-anchored rules (US Memorial Day = last Monday of May, Japanese Coming of Age Day = second Monday of January, Mother's Day = second Sunday of May) always fall on the same weekday, so the date shifts.
The third family is astronomical or religious computation. Easter is computed from the first full moon after the spring equinox — its date ranges across more than a month. Korean Chuseok and Chinese Mid-Autumn Festival are the lunar 15th of the 8th month, sliding across September and early October. Islamic holidays (Eid al-Fitr, Eid al-Adha) drift backward 11 days each Gregorian year because the Islamic calendar is purely lunar with no leap adjustment. Software cannot just hard-code these — it needs a real calendar library.
Major East Asian holidays at a glance
For teams collaborating across Korea, China, Japan, and Southeast Asia, a handful of dates account for nearly all the surprises. Lunar New Year and Chuseok in Korea, Spring Festival in China, and Tết in Vietnam each create week-long working freezes — global calendar software that only marks "Mon" as the holiday will mislead foreign teammates expecting business to resume Tuesday.
| Country | Holiday | Date / rule | Calendar basis |
|---|
| KR / CN / VN / SG | Lunar New Year | Lunar 1-1 (late Jan to mid Feb) | lunar |
| KR | Chuseok | Lunar 8-15 (Sep to early Oct) | lunar |
| CN | Mid-Autumn Festival | Lunar 8-15 | lunar |
| KR | Independence Movement Day | March 1 | solar (fixed) |
| KR | Children's Day | May 5 | solar (fixed) |
| KR | Liberation Day | August 15 | solar (fixed) |
| KR | Hangul Day | October 9 | solar (fixed) |
| JP | New Year (Shōgatsu) | January 1–3 | solar (fixed) |
| JP | Golden Week | April 29 – May 5 (4 holidays) | solar (fixed) |
| JP | Coming of Age Day | 2nd Monday of January | computed |
| CN | National Day | October 1 (+ Golden Week) | solar (fixed) |
| CN / KR / JP | Qingming / Hanshik | Solar term ~April 5 | computed |
Notable Western holidays and their gotchas
The United States, the United Kingdom, and continental Europe each have their own twists. US federal holidays observed on Monday or Friday create de facto three-day weekends — and when July 4 falls on a Tuesday or Thursday, a swing day is informally taken so the long weekend extends. Thanksgiving (4th Thursday of November) is the heaviest travel day of the year, and most US software businesses freeze deploys from Wednesday afternoon through the following Monday.
UK Bank Holidays sit between strict public holidays and corporate custom — most workplaces close, but banks are technically the ones the law names. Boxing Day (December 26) is a public holiday in the UK and Commonwealth countries but not in the US, which is a common surprise for transatlantic teams. Germany has 9–13 public holidays depending on the state (Bavaria has the most), France adds Easter Monday and Pentecost Monday on top of the Christian-rooted dates, and Spain combines national, regional, and municipal holidays into a layered calendar that the date-holidays library handles at the regional code level.
Designing software that respects holidays
Software that touches schedules, deadlines, billing cycles, or SLAs needs holiday awareness. The minimum bar: store holidays as data tied to a country (or region) and a year, refresh that data once a year, and filter both for type and observance. Hard-coding "US holidays" in source breaks the moment your product ships in a second market. The date-holidays npm package this tool uses covers 200+ countries and is updated annually.
Three patterns reduce real bugs. First, when shifting a deadline past a holiday, decide whether the rule is "next business day" or "same day" up front — some financial regulations require the next business day, while logistics often prefer the same-day promise. Second, treat half-day holidays (December 24 in Germany and parts of the US, Lunar New Year's Eve in Korea) as full business days unless your jurisdiction recognizes them. Third, surface holidays to users before they schedule — "your meeting falls on a Korean public holiday" prevents an awkward retroactive apology.
How to use
Pick a **country** from the dropdown (~250 entries — sovereign states, dependencies, and some sub-national regions like Hong Kong and Puerto Rico) and a **year** (1900–2100 supported, with accuracy decreasing for years far outside ±20 of present). The page renders a 12-month grid with each public holiday marked on its actual date and labeled with the localized holiday name (Christmas / クリスマス / 크리스마스 depending on the page locale). Hovering or tapping a marked date shows additional metadata — whether it is a fixed-date or moving holiday, whether banks are closed, and any observance-shift rules (e.g. Saturday holidays that move to the preceding Friday in some jurisdictions).
Under the hood the tool uses the **date-holidays** npm library (MIT-licensed, ~200 KB minified) which compiles holiday rules from official government sources, religious authorities (for Islamic, Hindu, and Jewish calendar holidays), and crowdsourced regional knowledge. The library is dynamic-loaded on demand to keep the rest of the catalog small. Accuracy is high for OECD countries with stable holiday lists and lower for jurisdictions where holidays are proclaimed annually (e.g. Saudi Arabia's Hajj-tied holidays, some African substitute holidays). The data set is updated periodically but **always verify business-critical dates** against the official government source for that country — for Korea, that is **공공기관 공식 안내 (행정안전부)**; for Japan, **内閣府 祝日カレンダー**; for the US, **OPM Federal Holidays**.
Examples
Korean Lunar New Year (설날) — 3-day cluster
Input
country: Korea (KR)
year: 2026
Output
Major Korean holidays in 2026:
Jan 1 New Year's Day (Thu)
Feb 16 설날 연휴 — Day before Seollal (Mon, lunar 12/30)
Feb 17 설날 (Lunar New Year) (Tue, lunar 1/1)
Feb 18 설날 연휴 — Day after Seollal (Wed, lunar 1/2)
Mar 1 3·1절 (Independence Movement Day) (Sun, substitute Mon)
May 5 어린이날 (Children's Day) (Tue)
May 24 부처님오신날 (Buddha's Birthday) (Sun, substitute Mon, lunar 4/8)
...
Sep 24-26 추석 연휴 (Chuseok) (Thu–Sat)
Korea's 설날 and 추석 are 3-day clusters: the day before, the day itself, and the day after. Both are lunar — the **Gregorian date shifts each year** and can fall as early as late January or as late as late February for 설날, and as early as mid-September or as late as mid-October for 추석. The **대체공휴일 (substitute holiday)** rule introduced in 2014 and expanded in 2021 says that when 설날, 추석, 3·1절, 광복절, 개천절, 한글날, or 어린이날 falls on a Sunday or another holiday, the next non-holiday weekday becomes a paid substitute. The 2026 calendar shows several substitute Mondays. Saturday-falling holidays were *added* to the substitute rule in 2023 for 설날 and 추석 only — most regular Saturdays still are not substituted.
Japanese Golden Week — early-May holiday cluster
Input
country: Japan (JP)
year: 2026
Output
Golden Week 2026:
Apr 29 昭和の日 (Wed)
May 1 (regular workday) (Fri)
May 3 憲法記念日 (Sun, substitute May 6)
May 4 みどりの日 (Mon)
May 5 こどもの日 (Tue)
May 6 substitute for May 3 (Wed)
─
Total: Apr 29 (Wed), May 3-6 (Sun-Wed) — with weekend, up to 6-day stretch
taking May 1 off makes it a full 8-day vacationGolden Week (ゴールデンウィーク) is Japan's longest informal holiday cluster, formed by **4 official public holidays** (昭和の日, 憲法記念日, みどりの日, こどもの日) packed into late April and early May. Combined with weekends and the universal Japanese tradition of taking May 1 and May 2 as paid leave even though they are workdays, most employees get 7–10 consecutive days off. The economic impact is significant: Tokyo office occupancy drops to ~30% during GW, and **shinkansen + domestic flights run at 95%+ capacity** for the weeks bracketing it. The **国民の祝日に関する法律 (Holiday Law)** has a clause that any non-holiday weekday falling between two public holidays becomes a "国民の休日" — this is how May 4 (originally not a holiday) became みどりの日 in 1985. The substitute rule (振替休日) moves any Sunday-falling holiday to the next non-holiday Monday or beyond.
US federal holidays — and what is NOT included
Input
country: United States (US)
year: 2026
Output
US Federal Holidays 2026:
Jan 1 New Year's Day
Jan 19 MLK Jr Day (3rd Mon)
Feb 16 Presidents' Day (3rd Mon)
May 25 Memorial Day (last Mon)
Jun 19 Juneteenth
Jul 3 Independence Day (observed — Jul 4 falls Sat)
Sep 7 Labor Day (1st Mon)
Oct 12 Columbus Day (2nd Mon — many states call it Indigenous Peoples' Day)
Nov 11 Veterans Day
Nov 26 Thanksgiving (4th Thu)
Dec 25 Christmas Day
NOT included (commonly mistaken):
- Black Friday (post-Thanksgiving — NOT a federal holiday, but many companies treat as off)
- Christmas Eve / New Year's Eve (NOT federal, sometimes private)
- Good Friday / Easter Monday (NOT federal in US, unlike most of Europe)
The US has only **11 federal holidays** — fewer than most OECD countries, and well below Korea (~15 including substitutes), Japan (16), or the typical European country (10–14 official + several de facto). Federal status means **only federal employees and most banks close**; private-sector companies set their own holiday calendars and frequently differ. **Day after Thanksgiving** is treated as a holiday by ~85% of US companies but is not federal. **Christmas Eve** and **New Year's Eve** are sometimes given as paid time off but vary widely. State-level holidays also matter for state employees: Texas adds Lyndon B. Johnson Day (Aug 27), Hawaii adds Kuhio Day (Mar 26), etc. The Federal Reserve's **bank holiday list** (which determines when checks clear) follows the federal list plus an additional rule for the date Christmas-Day-on-Saturday: the federal observed day is Friday, but banks already process on that day.
FAQ
Why does the tool sometimes show different holidays for the same country in different years?
Three reasons. **First**, **moving holidays**: many holidays use a "Nth weekday of month" rule (US MLK Day = 3rd Monday of January, Japanese 体育の日 = 2nd Monday of October) and therefore fall on different dates each year. **Second**, **lunar / lunisolar holidays**: Korean 설날, Chinese 春节, Vietnamese Tết, Jewish Rosh Hashanah, and Islamic Eid all follow non-Gregorian calendars and drift relative to the Western year. **Third**, **substitute / shifted holidays**: when a fixed-date holiday lands on a weekend, many countries shift it to a weekday. The substitute rules differ across jurisdictions — Korea's 대체공휴일 expanded in 2021–2023, Japan's 振替休日 has been stable since 1973, and the US never substitutes federal holidays except observed-Friday for Saturday-Christmas. Holiday lists for the same country also genuinely change over the decades: Korea added 한글날 back as a public holiday in 2013 after a 22-year removal, Japan added 山の日 in 2016, the US added Juneteenth in 2021.
How do Easter and other Christian-calendar holidays get computed?
Easter is the **first Sunday after the first ecclesiastical full moon on or after March 21** — formally defined by the **Council of Nicaea (325 CE)**, computationally formalized in the **Gregorian Easter computus algorithm** by Gauss (1800). The "ecclesiastical full moon" is a tabular approximation, not the astronomical one, so Easter can be 1–2 days off from the actual full moon. Western Easter (Catholic / Protestant) uses the Gregorian computus and lands in March 22 – April 25; Eastern Orthodox Easter (Greek / Russian / Serbian Orthodox) uses the Julian computus and lands April 4 – May 8 in Gregorian terms. Both are encoded in date-holidays. Other Christian holidays derive from Easter: **Good Friday** = Easter - 2 days, **Easter Monday** = Easter + 1 day, **Ascension Day** = Easter + 39 days, **Pentecost** = Easter + 49 days, **Whit Monday** = Easter + 50 days. The whole Easter family floats together each year — this is why German and French employers schedule around "Easter weeks" rather than fixed dates.
Why do some Islamic and Hindu holidays show approximate dates?
Islamic holidays follow the **Hijri lunar calendar** which has 354–355 days per year — about 11 days shorter than Gregorian. The start of each Islamic month depends on **actual visual sighting of the new crescent moon** from a specific geographic point (traditionally Mecca, but each country's religious authority issues local determinations). This means Eid al-Fitr and Eid al-Adha dates **can shift by ±1 day country-to-country** even within the same week. Saudi Arabia's Supreme Court announces the official Hajj dates ~24 hours before the holiday begins; date-holidays uses a computational approximation that may be 1 day off from the actual proclamation. Hindu holidays have a similar issue — **Diwali**, **Holi**, and **Krishna Janmashtami** follow lunisolar Vikram or Shaka calendars with month-end-defined "tithi" days that require almanac calculation. Asian Buddhist holidays (Korean 부처님오신날, Sri Lankan Vesak) similarly drift on local lunar calculations. For these, use the date-holidays output as **an estimate within ±1 day** and verify against your local religious authority's announcement before booking around them.
Can I export the holiday list to my Google / Outlook calendar?
Not directly from this tool — but the underlying data is available via the **date-holidays npm package** for self-hosted automation, and most major calendar apps already include built-in holiday subscriptions. **Google Calendar**: Settings → "Add calendar" → "Browse calendars of interest" → pick country-specific holiday calendars (Google maintains official lists for ~100 countries). **Outlook / Microsoft 365**: File → Options → Calendar → "Add holidays" with country checkboxes. **Apple Calendar**: Calendar app → "Calendars" → "Add a calendar" with pre-supplied holiday subscriptions for most countries. These built-in subscriptions are updated automatically by the provider and typically more authoritative than any third-party tool because they connect to government feeds (Korea's 행정안전부, Japan's 内閣府). Use this browsable holiday-calendar page for *quick lookup and visual planning*; use the built-in subscription for *day-to-day usage*.
What is the difference between a public holiday and a bank holiday?
In most countries the lists are identical, but in some — particularly the **United Kingdom** and certain Commonwealth nations — "bank holiday" is the **legally defined term** for holidays declared under the Banking and Financial Dealings Act 1971 (and its predecessors going back to 1871). The UK's 8 bank holidays per year are when banks legally close; "public holiday" is the looser term covering the same dates plus traditionally observed days like Christmas Day (which is *not* a bank holiday in legal text but is universally treated as one). For the **financial sector**, the distinction matters: ACH / SEPA / clearing-house settlements depend on the bank holiday calendar specifically, while school holidays and government office closures may differ. The **Federal Reserve's holiday schedule** is the US equivalent — it determines when checks clear and wire transfers settle, and it overlaps but is not identical to federal employee holidays. This tool shows the broader "public holiday" set for each country; for ACH cut-off planning, cross-reference your bank's holiday calendar.
How can I check if a future date is a holiday programmatically?
For server-side or scheduled-job logic, use the **date-holidays** npm package directly: `npm install date-holidays`, then `const hd = new (require("date-holidays"))("KR"); hd.isHoliday(new Date("2026-02-17"))` returns the holiday object or `false`. The same package powers this UI tool. For Python: **`holidays`** package (`pip install holidays`) is the equivalent, also drawing from public-domain government data with similar country coverage. For Go: **`github.com/rickar/cal`**. For database-backed queries, **PostgreSQL's pg_calendar extension** or maintaining your own holidays table sourced from one of these libraries via a nightly job is the standard pattern. For one-off checks where library load is overkill (e.g. inside a Slack-bot reminder), this UI tool's public URL works: `/holiday-calendar?country=KR&year=2026` shows the year at-a-glance. For an authoritative answer for a single high-stakes date — court filing deadline, bank wire cutoff — always cross-check against the official government source.
Related concepts
Public holidays sit at the intersection of **labor law, religious calendars, and national identity**. The modern concept of a paid public holiday is younger than industrial capitalism — most countries codified their official holiday lists between **1850 and 1920** in response to labor-movement demands for guaranteed rest days and the secular displacement of religious feast days from informal observance to legal protection. The UK's **Bank Holidays Act of 1871** is one of the earliest formal legislative codifications and the source of the still-used "bank holiday" term. France's **fête de la Fédération (1880, now Bastille Day)**, Germany's **Tag der Deutschen Einheit (added 1990 after reunification)**, and Korea's **광복절 (added 1949)** each mark moments where holiday calendars served as instruments of nation-building.
The **economic literature on holiday clustering** finds three robust patterns. First, **holiday clusters increase GDP volatility** but not annual totals — Japanese Golden Week and Korean Chuseok shift consumption from non-holiday weeks to the cluster but the year totals are stable. Second, **Monday-shifted holidays (4-day weekends) increase domestic tourism more than fixed-date holidays** by a factor of 1.5-2× because trip planning is easier with predictable 3-day weekends; this is the empirical justification for the US "Uniform Monday Holiday Act of 1968" which moved 4 federal holidays to Mondays. Third, **religious holidays in secularized economies retain ~70% of their pre-secular cultural pull** in terms of family-gathering travel volumes — Christmas and Easter still drive the largest single-week trip volumes in nominally secular Western Europe.
Three adjacent **calendar concepts** intersect with holiday data. **Business days** (영업일 / 営業日) are weekdays excluding public holidays, used for legal-deadline counting, court schedules, settlement cycles (T+1 / T+2), and contract performance windows. Our **`business-days`** sister tool computes these. **Working-time directives** (EU 2003/88/EC, Korean 근로기준법, Japanese 労働基準法) regulate maximum hours and minimum rest including paid leave; our **`leave-calculator`** sister tool covers annual leave entitlement. **Liturgical and ritual calendars** — Christian liturgical year (Advent → Christmas → Epiphany → Lent → Easter), Islamic Hijri year (Muharram → Ramadan → Hajj), Hindu Vikram Samvat year (Chaitra → Diwali → Holi), Jewish year (Tishrei → Rosh Hashanah → Yom Kippur → Passover) — each have their own internal logic that public-holiday calendars partially expose. A complete view of "when can I schedule a meeting in Mumbai" requires both the secular Indian public-holiday list and the local religious-festival calendar.