← Blog
Article

Indonesia Long Weekends 2027 and Counting Working Days in Code

Indonesia's 2027 long weekends from the official joint decree, bridge days, working days per month (250 or 242), and JavaScript to count them via API.

Indonesia has six long weekends in 2027 that need no extra leave, and the longest runs 10 days in a row from 6 to 15 March 2027 (Nyepi, Eid al-Fitr and collective leave). On a Monday to Friday week, 2027 has 261 weekdays, which drops to 250 working days after public holidays, or 242 if the collective leave days (cuti bersama) are also taken off. All figures are computed from the 26 rows of the official 2027 joint ministerial decree (SKB 3 Menteri) served by API Indonesia.

Source: joint decree of the Minister of Religious Affairs, Minister of Manpower and Minister of State Apparatus No. 1205/2026, No. 3/2026, No. 2/2026, signed 15 September 2026 (KemenPANRB press release): 18 public holidays and 8 collective leave days. Computed 29 October 2026.

Long weekends in 2027 (no leave needed)

Dates Length Why
Fri 1 to Sun 3 January 3 days New Year 2027
Fri 5 to Sun 7 February 3 days Collective leave (5 Feb) + Chinese New Year (Sat 6 Feb)
Sat 6 to Mon 15 March 10 days Nyepi (8), collective leave (9), Eid al-Fitr (10-11), collective leave (12 and 15)
Thu 25 to Sun 28 March 4 days Collective leave (25), Good Friday (26), Easter (28)
Sat 15 to Thu 20 May 6 days Eid al-Adha (17), collective leave for Eid al-Adha (18) and Vesak (19), Vesak (20)
Fri 24 to Sun 26 December 3 days Collective leave (24), Christmas (25), Isra Mi'raj 1449 AH (26)

Bridge days: take one day off

Day off Resulting break Total
Mon 4 January 1 to 5 January (Isra Mi'raj on Tue 5 Jan) 5 days
Fri 7 May 6 to 9 May (Ascension Day Thu 6 May) 4 days
Fri 21 May 15 to 23 May 9 days
Mon 31 May 29 May to 1 June (Pancasila Day on Tue) 4 days
Mon 16 August 14 to 17 August (Independence Day on Tue) 4 days

Seven 2027 public holidays fall on a weekend: Chinese New Year (6 Feb), Easter (28 Mar), Labour Day (1 May), Islamic New Year (6 Jun), the Prophet's Birthday (15 Aug), Christmas (25 Dec) and Isra Mi'raj 1449 AH (26 Dec).

Working days per month in 2027 (Monday to Friday)

Month Weekdays Public holidays on weekdays Collective leave Working days (leave days worked) Working days (leave days off)
January 21 2 0 19 19
February 20 0 1 20 19
March 23 4 4 19 15
April 22 0 0 22 22
May 21 3 2 18 16
June 22 1 0 21 21
July 22 0 0 22 22
August 22 1 0 21 21
September 22 0 0 22 22
October 21 0 0 21 21
November 22 0 0 22 22
December 23 0 1 23 22
Total 261 11 8 250 242

For private employers, collective leave follows company policy and is usually deducted from annual leave, which is why both columns are shown.

Counting working days in code

Fetch the year's holidays once, keep them in a Set, then count Monday to Friday dates that are not in it.

curl "https://use.apiindonesia.id/api/v1/libur?tahun=2027" \
  -H "x-api-key: YOUR_API_KEY"
async function holidaySet(year, { collectiveLeaveOff = true } = {}) {
  const r = await fetch(`https://use.apiindonesia.id/api/v1/libur?tahun=${year}`, {
    headers: { 'x-api-key': process.env.API_INDONESIA_KEY },
  });
  const { data } = await r.json();
  return new Set(
    data.filter((h) => collectiveLeaveOff || !h.is_joint_leave).map((h) => h.date)
  );
}

function workingDays(from, to, holidays) {
  let n = 0;
  for (let d = new Date(from + 'T00:00:00Z'); d <= new Date(to + 'T00:00:00Z'); d.setUTCDate(d.getUTCDate() + 1)) {
    const dow = d.getUTCDay();
    if (dow !== 0 && dow !== 6 && !holidays.has(d.toISOString().slice(0, 10))) n++;
  }
  return n;
}

const holidays = await holidaySet(2027);
console.log(workingDays('2027-03-01', '2027-03-31', holidays)); // 15

The same function covers delivery SLAs ("3 working days"), invoice due dates and prorated salaries. For payroll, pair it with the minimum wage (UMP) API.

Tips:

  • Call once per year and cache. A year of holidays is only 26 rows.
  • Keep collective leave separate. Use is_joint_leave or type: "cuti_bersama" so each company's policy can be configured.
  • Iterate dates in UTC so results don't shift with the server's timezone.

The response fields are in Indonesian (date, name, type, is_joint_leave, source). More on the endpoint in Indonesia public holidays API for HR and payroll.

FAQ

How many working days are there in Indonesia in 2027? 250 on a Monday to Friday week after the 11 public holidays that fall on weekdays. If the 8 collective leave days are also off, 242.

When is the longest long weekend in 2027? 6 to 15 March 2027, 10 consecutive days, because Nyepi, Eid al-Fitr 1448 AH and collective leave fall together.

Can the Eid dates change? Yes. The decree says Islamic holiday dates follow the Ministry of Religious Affairs' isbat decision. If they change, the API data is updated and the counts follow.

What about a Monday to Saturday week? Change the check to exclude only Sundays (dow !== 0). The holiday data stays the same.

Get started

Sign up at dashboard.apiindonesia.id/register for an API key and a one-time bonus of 3,000 credits. Each successful request costs 2 credits (Rp2), failed requests are free.

Get Started

Start Integrating
Today

Sign up for free and get a 3,000 credit bonus (Rp3,000) once your email is verified, grab an API key, and call your first endpoint right away. No credit card, no tedious approval process.

Dot wave visualization