Skip to content

Holidays

  • National holiday
  • Collective leave
  • Weekend
Full list 2026: 17 national holiday, 8 collective leave
  • 1 JanuaryNew Year's Day
  • 16 JanuaryIsra Mi'raj of the Prophet Muhammad
  • 16 FebruaryChinese New Year
  • 17 FebruaryChinese New Year
  • 18 MarchDay of Silence (Nyepi)
  • 19 MarchDay of Silence (Nyepi)
  • 20 MarchEid al-Fitr
  • 21 MarchEid al-Fitr
  • 22 MarchEid al-Fitr
  • 23 MarchEid al-Fitr
  • 24 MarchEid al-Fitr
  • 3 AprilGood Friday
  • 5 AprilEaster Sunday
  • 1 MayInternational Labour Day
  • 14 MayAscension Day
  • 15 MayAscension Day
  • 27 MayEid al-Adha
  • 28 MayEid al-Adha
  • 31 MayVesak Day
  • 1 JunePancasila Day
  • 16 JuneIslamic New Year
  • 17 AugustIndependence Day
  • 25 AugustProphet Muhammad's Birthday
  • 24 DecemberChristmas Day
  • 25 DecemberChristmas Day

National holidays and collective leave come from the joint ministerial decrees (SKB 3 Menteri) for each year, including every amendment, plus presidential decrees that added election days. Coverage is 2020 to 2027 and grows as new decrees are published.

Go TypeScript Returns
holiday.Years() holiday.years() { from, to }: the covered years
holiday.InYear(year) holiday.inYear(year) All entries in a year, by date
holiday.Between(from, to) holiday.between(from, to) Entries in an inclusive date range
holiday.On(date) holiday.on(date) Entries on one date (usually zero or one)

Dates are strings in YYYY-MM-DD format, never Date objects, so time zones cannot shift them.

Field (JSON) Example Notes
date 2026-08-17
kind national national or collective_leave
name Proklamasi Kemerdekaan Indonesian name from the decree
nameEn Independence Day English name
basis SKB 1497/2/5 Tahun 2025 The decree the entry comes from

date (not a YYYY-MM-DD date), range (a year without data, or from after to).

package main
import (
"fmt"
"github.com/haikalmumtaz233/nusaindex/holiday"
)
func main() {
coverage := holiday.Years()
fmt.Println(coverage.From, coverage.To)
all, err := holiday.InYear(2026)
if err == nil {
fmt.Println(len(all), all[0].Date, all[0].NameEN)
}
august, err := holiday.Between("2026-08-01", "2026-08-31")
if err == nil {
for _, h := range august {
fmt.Println(h.Date, h.Kind, h.Name)
}
}
christmas, err := holiday.On("2026-12-25")
if err == nil {
fmt.Println(len(christmas), christmas[0].Basis)
}
}
Output
2020 2027
25 2026-01-01 New Year's Day
2026-08-17 national Proklamasi Kemerdekaan
2026-08-25 national Maulid Nabi Muhammad S.A.W.
1 SKB 1497/2/5 Tahun 2025