Malaysia public holidays
Federal (nationwide) gazetted public holidays for calendar year 2026, with Holidays Act 1951 substitution applied.
| Current value | 18 days held |
|---|---|
| In force from | 2026-01-01 |
| In force until | 2026-12-31 |
| Official source | Jadual Hari Kelepasan Am Persekutuan 2026, issued by Bahagian Kabinet, Perlembagaan dan Perhubungan Antara Kerajaan (BKPP), Jabatan Perdana Menteri, Putrajaya; substitution applied under the proviso to s.3 of the Holidays Act 1951 [Act 369]; First Schedule to Act 369 as amended by P.U. (B) 414/1972 (Labour Day), P.U. (B) 363/2005 (Awal Muharram) and P.U. (B) 491/2009 (Malaysia Day); additional 20 March 2026 holiday declared under s.8 of Act 369 by the Ministry of Human Resources (KESUMA) circular dated 15 March 2026 |
| Last verified | 2026-07-20 |
| Verification | primary — No verification limitation recorded — read from the official source cited. |
| Provenance | source fingerprint |
What this value means
SCOPE: this list is the FEDERAL (nationwide) schedule only - the entries marked (P) in the BKPP 2026 schedule, expanded to 14 GAZETTED DATES plus 3 SUBSTITUTION DAYS plus 1 s.8 AD HOC DECLARATION = 18 entries. (The previous revision of this file stated '15 gazetted dates plus 2 substitution days'; that count did not reconcile to the array and has been corrected.) Malaysia additionally gazettes 33 STATE holidays (marked (N)) which are deliberately excluded because none applies nationwide; the same BKPP document lists them. SUBSTITUTION RULE APPLIED: the proviso to s.3 of the Holidays Act 1951 provides that if a public holiday falls on the 'weekly holiday' the following day is a public holiday, and if that following day is itself already a public holiday then the next day after that is. s.2 defines 'weekly holiday' as Sunday, or Friday in states where Friday is observed as the weekly holiday. For the Sunday-weekend majority (all states plus the Federal Territories of Kuala Lumpur, Putrajaya and Labuan except the four listed below) this produces three consequences in 2026: 22 Mar (Sun, 2nd day Aidilfitri) rolls to Mon 23 Mar; 31 May (Sun, Wesak) would roll to Mon 1 Jun but that is already the Agong's Birthday, so it rolls again to Tue 2 Jun; 8 Nov (Sun, Deepavali) rolls to Mon 9 Nov. Those three substitute days are included above. AD HOC DECLARATION NOW INCLUDED: s.8 of Act 369 lets the Prime Minister declare additional public holidays at short notice. On 15 March 2026 the Ministry of Human Resources (KESUMA) issued a circular declaring an additional nationwide PAID public holiday for Hari Raya Aidilfitri, conditional on the sighting outcome: if Raya Day 1 fell on Friday 20 March the extra day would be Monday 23 March, and if Raya Day 1 fell on Saturday 21 March the extra day would be Friday 20 March. Raya Day 1 fell on Saturday 21 March 2026, so FRIDAY 20 MARCH 2026 is the additional federal public holiday, producing a four-day 20-23 March break. SOURCING CAVEAT ON THIS ONE ROW: kabinet.gov.my and mohr.gov.my are geo-blocked from outside Malaysia (see access quirk below) and the KESUMA circular PDF could not be pulled from a .gov.my origin during this pass; its text was read from a verbatim reproduction published by the Master Builders Association Malaysia (mbam.org.my) and cross-checked against two independent HR-practitioner reproductions, all of which agree on the date, the 15 March 2026 issue date, the s.8 basis and the resulting count of 18 federal public holidays for 2026. Treat this single date as ministry-circular-sourced rather than gazette-sourced. FRIDAY-WEEKEND STATES NOT REFLECTED IN THE ARRAY: Johor, Kedah, Kelantan and Terengganu observe Friday as the weekly holiday, so in those four states the substitution instead lands on Labour Day (Fri 1 May -> Sat 2 May) and Christmas Day (Fri 25 Dec -> Sat 26 Dec), while 22 Mar, 31 May and 8 Nov generate no substitute. A single national array cannot represent both patterns; the Sunday pattern is served because it covers 12 of the 16 jurisdictions including all three Federal Territories. DELIBERATE EXCLUSIONS: (1) 1 JANUARY IS NOT A FEDERAL PUBLIC HOLIDAY IN MALAYSIA. New Year's Day appears in the BKPP schedule as a STATE holiday (N) observed in 11 of 16 jurisdictions and NOT in Johor, Kedah, Kelantan, Perlis or Terengganu. It is separately a BANK holiday under the Second Schedule to Act 369, but s.5 and the Second Schedule were disapplied to all banks in Peninsular Malaysia by F.L.N. 346/1963. (2) Hari Raya Qurban SECOND DAY, 28 May 2026, is excluded: the First Schedule to Act 369 grants Hari Raya Haji two days in Kelantan and Terengganu and one day elsewhere, and the BKPP schedule marks 28 May (P)/(N) with only four jurisdictions ticked. Conversely CNY second day (18 Feb) is marked (P)/(N) but is ticked for all 16 jurisdictions and is therefore retained. (3) Nuzul Al-Quran (7 Mar), Thaipusam and Federal Territory Day (both 1 Feb), Israk dan Mikraj (17 Jan), Good Friday (3 Apr, Sabah and Sarawak only), Pesta Kaamatan, Gawai Dayak and all ruler birthdays are state-only. PROVISIONAL DATES NOW SETTLED FOR THE ELAPSED PART OF 2026: the BKPP schedule marked Hari Raya Puasa (21-22 Mar), Hari Raya Qurban (27 May) and Deepavali (8 Nov) with an asterisk, 'tertakluk kepada perubahan' - subject to change, the Islamic dates depending on official moon sighting announced by the Keeper of the Rulers' Seal on JAKIM's advice and Deepavali on the Hindu almanac. As at 2026-07-20 the Aidilfitri (21-22 Mar), Aidiladha (27 May), Awal Muharram (17 Jun) and Maulidur Rasul (25 Aug is still forward-dated) entries have been confirmed as observed or announced; DEEPAVALI (8 Nov) AND MAULIDUR RASUL (25 Aug) REMAIN FORWARD-DATED and could still shift by a day. ACCESS QUIRK - IMPORTANT FOR RE-VERIFICATION: www.kabinet.gov.my (202.75.6.115), the authoritative publisher, refused/timed out on all TCP connections to port 443 from outside Malaysia on 2026-07-20, from both a plain HTTP client and a headless browser; www.mohr.gov.my behaved the same way. The gazetted figures above were therefore read from an Internet Archive snapshot of the official PDF captured 16 January 2026, whose text layer is machine-extractable; note that some tooling is itself blocked from web.archive.org, so a direct browser fetch of the snapshot may be required. The mirror of the same schedule on mmk.kedah.gov.my is a scanned image with no text layer. The Malaysian High Commission Singapore hosts a 2026 holiday PDF at kln.gov.my but its text layer is not extractable. www.malaysia.gov.my is a JavaScript shell that rewrites every deep link back to the root and never renders its holiday calendar. The text of Act 369 (including the s.3 proviso and First Schedule) was likewise read from an archived copy of kabinet.gov.my/storage/2024/11/1951_12_31_act369.pdf. Act 369 by its own s.1(2) applies to Peninsular Malaysia only; Sabah and Sarawak legislate holidays under their own state enactments, and Labuan is brought in by P.U. (A) 511/2005.
Get it programmatically
curl https://asiaref.dev/v1/my/public-holidays
# Free.
# History: curl https://asiaref.dev/v1/my/public-holidays/history?from=2020-01-01
# Provenance: curl https://asiaref.dev/provenance/my/public-holidays
Other Malaysia series: policy interest rate · VAT rate · minimum wage · inflation rate (CPI) · corporate tax rate · income tax rates