Skip to content

eu-data-commons/eu-holidays-data

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EU Holidays Data

Open dataset of public holidays for 30 European countries — 25 languages, JSON + CSV, MIT-licensed.

License: MIT Data: CC0

What is this?

A maintained, machine-readable list of every officially observed public holiday in 30 European countries (EU-27 plus the United Kingdom, Switzerland, Norway and Iceland), localised into 25 European languages, covering 2024–2028.

  • 30 countries × 5 years × ~12 holidays each = 1,355 entries
  • 25 localised names per holiday (Slovenian, Estonian, Icelandic, Latvian, Croatian, Slovak, Lithuanian, Bulgarian, Greek, Hungarian, plus the popular ones)
  • JSON per country/year for programmatic use, flat CSV per year for spreadsheets
  • No login, no API key, no rate limits — just files

Data source

Holiday data is generated from WorkDaten.eu — a free reference for European public holidays, working days, long weekends, and salary calculators across 30 countries in 25 languages. Visit https://workdaten.eu for the full interactive calendar with regional variants, bridge days, and country comparisons.

Quick start

Node.js

npm install eu-holidays-data
import germany2026 from "eu-holidays-data/data/2026/germany.json" assert { type: "json" };

console.log(germany2026.holidays.length); // 9
console.log(germany2026.holidays[0]);
// {
//   date: "2026-01-01",
//   type: "national",
//   name: "New Year's Day",
//   localizedNames: { de: "Neujahr", fr: "Jour de l'An", ... }
// }

See examples/nodejs.md for more.

Python

import json, urllib.request

url = "https://raw.githubusercontent.com/eu-data-commons/eu-holidays-data/main/data/2026/germany.json"
data = json.loads(urllib.request.urlopen(url).read())
print(f"{data['country']} {data['year']}: {len(data['holidays'])} holidays")

See examples/python.md.

Spreadsheet (Excel / Google Sheets)

Download a single yearly CSV from csv/all-2026.csv and open in Excel or import into a Google Sheet. See examples/excel.md.

File layout

data/
  2024/
    germany.json
    austria.json
    ...
  2025/
  2026/
  2027/
  2028/
csv/
  all-2024.csv
  all-2025.csv
  all-2026.csv
  all-2027.csv
  all-2028.csv
examples/
  nodejs.md
  python.md
  excel.md

JSON schema

Every data/<year>/<country>.json has the shape:

{
  "country": "Germany",
  "countrySlug": "germany",
  "iso": "DE",
  "currency": "EUR",
  "timezone": "Europe/Berlin",
  "year": 2026,
  "source": "https://workdaten.eu/en/public-holidays/germany/2026/",
  "generatedAt": "2026-05-13",
  "summary": {
    "totalHolidays": 9,
    "weekdayHolidays": 6
  },
  "holidays": [
    {
      "date": "2026-01-01",
      "type": "national",
      "name": "New Year's Day",
      "localizedNames": {
        "en": "New Year's Day",
        "de": "Neujahr",
        "fr": "Jour de l'An",
        "es": "Año Nuevo"
      }
    }
  ]
}

type is either "national" (observed everywhere in the country) or "regional" (specific to a Bundesland / autonomous community / canton — listed in the optional regions array on those entries).

Coverage

  • Germany (germany, DE, EUR, Europe/Berlin)
  • Austria (austria, AT, EUR, Europe/Vienna)
  • France (france, FR, EUR, Europe/Paris)
  • Netherlands (netherlands, NL, EUR, Europe/Amsterdam)
  • Belgium (belgium, BE, EUR, Europe/Brussels)
  • Italy (italy, IT, EUR, Europe/Rome)
  • Spain (spain, ES, EUR, Europe/Madrid)
  • Poland (poland, PL, PLN, Europe/Warsaw)
  • Sweden (sweden, SE, SEK, Europe/Stockholm)
  • Norway (norway, NO, NOK, Europe/Oslo)
  • Denmark (denmark, DK, DKK, Europe/Copenhagen)
  • Finland (finland, FI, EUR, Europe/Helsinki)
  • Switzerland (switzerland, CH, CHF, Europe/Zurich)
  • Ireland (ireland, IE, EUR, Europe/Dublin)
  • United Kingdom (united-kingdom, GB, GBP, Europe/London)
  • Portugal (portugal, PT, EUR, Europe/Lisbon)
  • Romania (romania, RO, RON, Europe/Bucharest)
  • Czech Republic (czech-republic, CZ, CZK, Europe/Prague)
  • Hungary (hungary, HU, HUF, Europe/Budapest)
  • Greece (greece, GR, EUR, Europe/Athens)
  • Croatia (croatia, HR, EUR, Europe/Zagreb)
  • Slovenia (slovenia, SI, EUR, Europe/Ljubljana)
  • Slovakia (slovakia, SK, EUR, Europe/Bratislava)
  • Bulgaria (bulgaria, BG, BGN, Europe/Sofia)
  • Estonia (estonia, EE, EUR, Europe/Tallinn)
  • Latvia (latvia, LV, EUR, Europe/Riga)
  • Lithuania (lithuania, LT, EUR, Europe/Vilnius)
  • Serbia (serbia, RS, RSD, Europe/Belgrade)
  • Luxembourg (luxembourg, LU, EUR, Europe/Luxembourg)
  • Iceland (iceland, IS, ISK, Atlantic/Reykjavik)

License

You can use the data commercially, redistribute it, modify it. Attribution is appreciated but not required.

Contributing

Spotted an incorrect date or missing regional holiday? Please open an issue with a link to the official government calendar so we can fix it.

Related

  • WorkDaten.eu — the canonical interactive site (free, no signup) with working-day counts, salary calculators, long weekend planners and country comparisons.

About

Open dataset of public holidays for 30 European countries — 25 languages, JSON + CSV, MIT-licensed.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors