• Outlook User
  • New Outlook app
  • Outlook.com
  • Outlook Mac
  • Outlook & iCloud
  • Developer
  • Microsoft 365 Admin
    • Common Problems
    • Microsoft 365
    • Outlook BCM
    • Utilities & Addins

Add Holidays to Outlook's Calendar

Slipstick Systems

› Outlook › Calendar › Add Holidays to Outlook’s Calendar

Last reviewed on May 16, 2024     58 Comments

Applies to: Outlook (classic), Outlook 2007, Outlook 2010

Adding Outlook's predefined Holidays to the calendar is a very simple process:

In Outlook 2010 and up, go to File > Options > Calendar and then click the Add Holidays button. Select the desired Holidays and click OK.
Add Holidays to Outlook's Calendar from the Calendar options dialog

In Outlook 2007 and older, go to Tools > Options > Preference tab > Calendar Options and click the Add Holidays button. Select the desired Holidays and click OK.

It can take a few minutes to add all the holidays, depending on how many countries you are adding.

While major religious holidays are listed with the holidays for some countries, there are separate listings for Christian, Islamic, and Jewish religious holidays.

You will you receive the following message if you previously added the holidays for a specific country. However, if you are upgrading Outlook or using an updated HOL file, it may be detecting older holidays. If you choose Yes and discover your holidays are duplicated, you can delete all of the Holidays and re-run the Add Holidays wizard.

Holidays for [location] are already installed. Do you want to install them again?

See How to Remove Duplicate Holidays From the Calendar for complete instructions.

Create a Custom Holiday File | Use a Script to Import Holidays | Move Events Manually | Custom HOL sample | More Information

 

Create a Custom Holiday File

Because of tighter security in current versions of Windows, it's generally easier to create a new HOL file. This has one advantage: you only need to double click on the file to open the Add Holidays dialog. You do not have to go to Options > Calendar > Add Holidays to add the holidays to your calendar.

The Outlook.HOL file lists holidays in the following format, one date per line:
[location] ###
Holiday description, yyyy/mm/dd
Holiday description, yyyy/mm/dd

The ### is the total number of holidays listed for the location (or country). Note that there is a space between the bracket and the number. On each holiday line, there is a comma and space between the holiday description (subject) and the date. For example:

[United States] 3
Independence Day, 2012/07/04
Thanksgiving Day, 2012/11/27
Christmas Day, 2012/12/25

To create a custom set of holidays, you can create your own HOL file in notepad by following these steps. Tip: you can work with the dates in Excel, then copy and paste into Notepad to save as an HOL file.

  1. Open Notepad
  2. Enter a "county" header, in [country] format. For example, I might use [Slipstick Systems]
  3. On separate lines under the header, enter the events, one per line in
    Event subject, yyyy/mm/dd format.
  4. Save the file using the HOL extension.
  5. Double click on the file. If Outlook is not on top of the screen, switch to it.
  6. Select the location and click Add.

 

Import Holidays

You can use a script to import holidays into your calendar. Save this script as a .vbs file and call it from a logon script. (If you want users to double click on a file to run, use the .HOL method instead.)

Const olFolderCalendar = 9
Const olAppointmentItem = 1
Const olOutOfOffice = 3
CRLF = chr(13)&chr(10)
'Wscript.echo "Importing 2017 Company Holidays."+ CRLF + CRLF + "Press OK to Continue."
Set objOutlook = CreateObject("Outlook.Application")
Set objNamespace = objOutlook.GetNamespace("MAPI")
Set objCalendar = objNamespace.GetDefaultFolder(olFolderCalendar) 
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.Add "August 1, 2017", "Company Holiday - Holiday Name" 
objDictionary.Add "August 21, 2017", "Company Holiday - Holiday Name" 
objDictionary.Add "August 18, 2017", "Company Holiday - Holiday Name"
objDictionary.Add "August 26, 2017", "Company Holiday - Holiday Name" 
objDictionary.Add "September 1, 2017", "Company Holiday - Holiday Name"
objDictionary.Add "November 11, 2017", "Company Holiday - Veterans' Day" 
objDictionary.Add "November 27, 2017", "Company Holiday - Thanksgiving Day" 
objDictionary.Add "November 28, 2017", "Company Holiday - Friday After Thanksgiving"
objDictionary.Add "December 25, 2017", "Company Holiday - Christmas Day" 
objDictionary.Add "December 26, 2017", "Company Holiday - Day after Christmas" 
colKeys = objDictionary.Keys
For Each strKey in colKeys
dtmHolidayDate = strKey
strHolidayName = objDictionary.Item(strKey)
Set objHoliday = objOutlook.CreateItem(olAppointmentItem) 
With objHoliday
 .Subject = strHolidayName
 .Start = dtmHolidayDate
 .End = dtmHolidayDate
 .Categories = "Company Holidays"
 .AllDayEvent = True
 .ReminderSet = False
 .BusyStatus = olOutOfOffice
 .Save
End With
Next
Set objOutlook = Nothing
Wscript.echo "Completed Importing 2017 Company Holidays."+ CRLF + CRLF + "Press OK to End."
Wscript.quit

For a PowerShell example and a VBScript that uses a CSV file, see Outlook Code: Importing bank holidays from an Outlook.hol based CSV file (MSDN).
 

When the Holiday file is wrong

The question a lot of people ask:

Why does Outlook put some Holidays on the wrong date?

I don't recall any version of Outlook shipping with a perfect Holiday file.

The problem is in the Outlook.HOL file used to import holidays - the author (or authors) get some dates wrong. While we expect perfection from them, to be fair, with hundreds of locations and thousands of dates in the HOL file, its easy to make mistakes. (There are more than 21,000 holidays in Outlook 2010's HOL file.)  However, it shouldn't be that hard to get common holidays, like the Monday after Easter right (that is one of the big mistakes in Outlook 2010's HOL file.)

You can either move the events to the correct date, edit this file yourself, or download an updated version. You can even create your own HOL file.

A link to an updated Holiday file containing dates through 2028 is available at Missing Holidays. For Outlook 2002 and up. Note, this is the same file that is included with Outlook 2010 but contains the correct dates for Easter Monday.

 

Move Events Manually

To fix a holiday that's already in your Calendar folder on the wrong date, just drag the item to the correct date.

Fix a Holiday File

Outlook stores a read-only text file called Outlook.HOL in the installation directory for your version and language of Office (ie, C:\Program Files\Microsoft Office\root\Office16\1033 for US English version of Office), which it uses for the Options > Calendar Options > Add Holidays feature.

You can open the HOL file in notepad and edit it.

  1. Start Windows Explorer, locate the Outlook.HOL file. (You may want to make a backup copy.)
  2. Right-click on Outlook.HOL and choose Open with then select Notepad from the list.
  3. To edit a specific country's dates, use Find to locate the Country by name and edit the dates.
  4. To add a new location, press CTRL+END to position the insertion point at the end of the file.
  5. Type a new country header and custom holidays using the format described below.
  6. Save and close Outlook.HOL. Note: Due to security features in newer versions of Windows, you will need to give your Windows account permissions to write to the Office\xxxx folder.

 

Fun with Holiday files: Countdown the days in a year

You can use a custom HOL file for any all day events you desire. In this example, we are going to add all day events to the calendar to countdown the days in a year, from 1 to 365 and include the number of days left in the year.

Do you need to know what day of the year today is or how many days are left until the end of the year? Although Outlook doesn't display these numbers, it's very easy to create a file counting the days using Excel and import it into your calendar.

The original suggestion came from "Alawishes". He suggested using a CSV containing the Subject, Date, and a Category then importing it.

Create a file with the Subject, Date, and a Category using Excel's fill series feature then save it as a CSV to Import into Outlook's Calendar. While a category is not required, it makes it easy to filter the events. Using this method, you can import the events to any calendar.

While his suggestion is a great idea and has certain advantages: you can choose your own category or import it into a different calendar folder, you could create a HOL file and save the Import step. In the CSV, use only the Subject and Date fields then save it and change the extension to HOL. Open the HOL in Notepad and change the line above the dates to a "location" and the number of items in the "location" group, in [location] 366 format. (The location name can be anything you like. )

Users can double click on the HOL to open the Add Holidays dialog and add the dates to the default calendar. When you use this method the events will be added to the Holiday category.

Add holidays to Outlook's calendar

To delete these Holidays, group, sort, or filter by Location field and delete the items for your location.

We have sample HOL files available for download. When the HOL includes more than one year or (day and week numbers), they are separate "locations" so you can choose which ones yo install. They are in English, but you can open the HOL files in Notepad and use search & replace to change the text.

Day Numbers 2023 through 2028 Day & Week Numbers 2022
Day & Week Numbers 2021 DayNumbers 2020
DayNumbers 2019
Note: You may need to right click on the link and use Save Target As (or Save Link As). Double click on the HOL file to open it in the Add Calendar wizard.

More Information

To remove duplicate holidays from the Calendar folder

US-only holidays, split between Federal holidays and popular observances is available here.

HOL file for Indonesia 2023 - 2025 (Dates are from timeanddate.com)

UK bank holidays

A HOL for Cote d'Ivoire (Ivory Coast) for years 2019 though 2026 is here: Coted'Ivoire.HOL. This was created using the holiday list at Holidays and Observances in Cote d'Ivoire (Timeanddate.com)

A HOL for Palestine for the years 2021 - 2026 is here:
Palestine.HOL This list was created from the holidays list at Public Holidays in Palestine | Office Holidays. Islamic holidays are included only for 2021 and 2022. (Outlook includes a separate Islamic religious holiday list.)

Add Holidays to Outlook's Calendar was last modified: May 16th, 2024 by Diane Poremsky

Related Posts:

  • Outlook includes a list of holidays you can add to your calendar. We h
    Microsoft Outlook Holiday Issues
  • How to Remove Holidays From the Default Calendar
  • Outlook .HOL Error: US Election Day
  • This is a collection of calendar data tools and resources for the Micr
    Calendar Date and Other Data Tools

About Diane Poremsky

A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

Subscribe
Notify of
58 Comments
newest
oldest most voted
Inline Feedbacks
View all comments

Laurel Zitney (@guest_219822)
October 26, 2022 10:46 am
#219822

Is there a way to add a start and end time to a custom notepad holiday list? I'd like them to show up as a start of 8am and end at 5pm to block the calendar.

1
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Laurel Zitney
October 27, 2022 12:07 am
#219825

No, not in the holidays. They are all day events only.

0
0
Reply
Ray Beckwith (@guest_217245)
November 30, 2020 3:27 pm
#217245

Hi Diane. I've been a fan and user of much of your stuff for years. I recently tried the VBS script to add holidays on Outlook 2013 and noticed a strange issue. When you view the appointment details in list view or in the form, the item is set as an all day event and Out of Office as specified in the script but when you look at the calendar view, It appears as a 30 minute appointment starting at 12:00 AM and free. Also, the free/busy on the server does not show busy.

We can manually fix by toggling the all day appointment off and on and saving the appointment but would like to be able to use the script for all our users without this step. Any ideas?

0
0
Reply
Tarun (@guest_214513)
December 24, 2019 1:34 am
#214513

1. Is it possible to add the "Show as" field - to show the day as "Out of office", or "Busy"?
2. Some of the rows have a comma separated number at the end (after the date string) - seems like an optional value. Any idea what's this for?

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Tarun
December 24, 2019 1:41 am
#214514

1. No, not using these methods. you'd need to change them after import or create them as appointments, not holidays.
2. The format for holidays is name,date - those are the only values.

0
0
Reply
Bjarne Kindermann (@guest_213083)
April 11, 2019 10:14 am
#213083

Hello Diane,

I made a custom hol file named holidays.hol. I want to deploy it to all users (4000+) but without a user interaction. In the current state when I doubleclick holidays.hol I must select what days to import. I want to skip this and just enter the holidays without the question which one to import. Can I somehow skip this step so we can push this file to all users and execute it?

0
0
Reply
Ian (@guest_210116)
January 26, 2018 2:18 pm
#210116

Hi Diane, I'm trying to use the .HOL method, however, I'd like to build in reminders to these events in my .txt file, is there any easy way to do this?

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Ian
February 11, 2018 2:33 pm
#210300

Sorry, no, the HOL does not support reminders. I don't recall if reminders are enabled for new items by default, if ones would be added to the imports, but that would be the only way to get reminders on them during import.

0
0
Reply
Jørgen (@guest_208067)
August 7, 2017 4:17 am
#208067

Hi!
Is there a way to make outlook auto update the imported dates from the .hol file?
I'm trying to make a calendar that views important dates, but want to have the possibility to change/add dates without sending a new file every week.. :)
Thanks!

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Jørgen
August 7, 2017 9:57 am
#208073

No, not totally. You can restart Outlook using a switch (outlook.exe /hol holfilename.hol) or double click on the HOL file - if any events in the file already exist, they will be duplicated.

if this is a corporate network situation, use a logon script - this script will add events to the default calendar: Add Events to Calendar

0
0
Reply
Julien (@guest_204923)
February 28, 2017 10:44 am
#204923

Is there a way to create time specific events with the .HOL? Or is it just 'all day" events? Thanks!

1
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Julien
February 28, 2017 11:01 am
#204925

The HOL file only creates all day events.

1
0
Reply
Captn (@guest_203974)
January 18, 2017 4:49 am
#203974

I have created the .hol file (from scratch) saved as .hol (unicode - it syas "hol file"). BUt when I double click it, it does not open in outlook, only the notepad opens. How do i get MY .hol file outlook?
Outlook 2013

0
0
Reply
Diane Poremsky(@diane-poremsky)
Author
Reply to  Captn
January 18, 2017 11:54 pm
#203983

That happens when either the extension is set to use notepad, not Outlook or the extension is wrong. What is the icon - notepad icon or a white icon with a calendar over it? File Type is 'Outlook Holidays'

0
0
Reply

Visit Slipstick Forums.
What's New at Slipstick.com

Latest EMO: Vol. 30 Issue 16

Subscribe to Exchange Messaging Outlook






Support Services

Do you need help setting up Outlook, moving your email to a new computer, migrating or configuring Office 365, or just need some one-on-one assistance?

Our Sponsors

CompanionLink
ReliefJet
  • Popular
  • Latest
  • Week Month All
  • Use Classic Outlook, not New Outlook
  • How to Remove the Primary Account from Outlook
  • Disable "Always ask before opening" Dialog
  • Adjusting Outlook's Zoom Setting in Email
  • This operation has been cancelled due to restrictions
  • How to Hide or Delete Outlook's Default Folders
  • Reset the New Outlook Profile
  • Save Attachments to the Hard Drive
  • Add Attachments and Set Email Fields During a Mail Merge
  • Outlook SecureTemp Files Folder
  • Open Outlook Templates using PowerShell
  • Count and List Folders in Classic Outlook
  • Google Workspace and Outlook with POP Mail
  • Import EML Files into New Outlook
  • Opening PST files in New Outlook
  • New Outlook: Show To, CC, BCC in Replies
  • Insert Word Document into Email using VBA
  • Delete Empty Folders using PowerShell
  • Warn Before Deleting a Contact
  • Classic Outlook is NOT Going Away in 2026
Ajax spinner

Recent Bugs List

Microsoft keeps a running list of issues affecting recently released updates at Fixes or workarounds for recent issues in classic Outlook (Windows).

For new Outlook for Windows: Fixes or workarounds for recent issues in new Outlook for Windows .

Outlook for Mac Recent issues: Fixes or workarounds for recent issues in Outlook for Mac

Outlook.com Recent issues: Fixes or workarounds for recent issues on Outlook.com

Office Update History

Update history for supported Office versions is at Update history for Office

Outlook Suggestions and Feedback

Outlook Feedback covers Outlook as an email client, including Outlook Android, iOS, Mac, and Windows clients, as well as the browser extension (PWA) and Outlook on the web.

Outlook (new) Feedback. Use this for feedback and suggestions for Outlook (new).

Use Outlook.com Feedback for suggestions or feedback about Outlook.com accounts.

Other Microsoft 365 applications and services




New Outlook Articles

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Google Workspace and Outlook with POP Mail

Import EML Files into New Outlook

Opening PST files in New Outlook

New Outlook: Show To, CC, BCC in Replies

Insert Word Document into Email using VBA

Delete Empty Folders using PowerShell

Warn Before Deleting a Contact

Classic Outlook is NOT Going Away in 2026

Newest Code Samples

Open Outlook Templates using PowerShell

Count and List Folders in Classic Outlook

Insert Word Document into Email using VBA

Warn Before Deleting a Contact

Use PowerShell to Delete Attachments

Remove RE:, FWD:, and Other Prefixes from Subject Line

Change the Mailing Address Using PowerShell

Categorize @Mentioned Messages

Send an Email When You Open Outlook

Delete Old Calendar Events using VBA

Repair PST

Convert an OST to PST

Repair damaged PST file

Repair large PST File

Remove password from PST

Merge Two Data Files

Sync & Share Outlook Data

  • Share Calendar & Contacts
  • Synchronize two computers
  • Sync Calendar and Contacts Using Outlook.com
  • Sync Outlook & Android Devices
  • Sync Google Calendar with Outlook
  • Access Folders in Other Users Mailboxes

Diane Poremsky [Outlook MVP]

Make a donation

Mail Tools

Sending and Retrieval Tools

Mass Mail Tools

Compose Tools

Duplicate Remover Tools

Mail Tools for Outlook

Online Services

Calendar Tools

Schedule Management

Calendar Printing Tools

Calendar Reminder Tools

Calendar Dates & Data

Time and Billing Tools

Meeting Productivity Tools

Duplicate Remover Tools

Productivity

Productivity Tools

Automatic Message Processing Tools

Special Function Automatic Processing Tools

Housekeeping and Message Management

Task Tools

Project and Business Management Tools

Choosing the Folder to Save a Sent Message In

Run Rules on messages after reading

Help & Suggestions

Submit Outlook Feature Requests

Slipstick Support Services

Buy Microsoft 365 Office Software and Services

Visit Slipstick Forums.

What's New at Slipstick.com

Home | Outlook User | Exchange Administrator | Office 365 | Outlook.com | Outlook Developer
Outlook for Mac | Common Problems | Utilities & Addins | Tutorials
Outlook & iCloud Issues | Outlook Apps
EMO Archives | About Slipstick | Slipstick Forums
Submit New or Updated Outlook and Exchange Server Utilities

Send comments using our Feedback page
Copyright © 2025 Slipstick Systems. All rights reserved.
Slipstick Systems is not affiliated with Microsoft Corporation.

wpDiscuz

Sign up for Exchange Messaging Outlook

Our weekly Outlook & Exchange newsletter (bi-weekly during the summer)






Please note: If you subscribed to Exchange Messaging Outlook before August 2019, please re-subscribe.

Never see this message again.

You are going to send email to

Move Comment