If you have used Classic Outlook for years, you likely have a .hol file containing custom holidays you created or imported. This file stores dates for holidays that Outlook adds to your calendar automatically. The new Outlook for Windows does not support .hol files at all. This article explains what .hol files are, why the new Outlook ignores them, and how to move your custom holidays into the new Outlook so you do not lose them.
Key Takeaways: Migrating .hol files to the new Outlook
- File > Options > Calendar > Add Holidays: In Classic Outlook, this is where you import .hol files. The new Outlook has no equivalent button.
- .hol file structure: A plain-text file with holiday names and dates. You can open it in Notepad to see every entry.
- PowerShell or .ics conversion: The only reliable way to move holidays into the new Outlook is to convert the .hol file to .ics and import that file.
What a .hol file is and why the new Outlook cannot use it
A .hol file is a plain-text file that contains holiday data in a specific format. Each line lists a holiday name and its date. Classic Outlook reads this file when you click File > Options > Calendar > Add Holidays. The file can be the default holiday set that ships with Outlook or a custom file you created or downloaded from a third party.
The new Outlook for Windows is a completely different application from Classic Outlook. It does not share the same add-in architecture, file format support, or calendar import pipeline. The new Outlook uses Exchange Online or Outlook.com as its primary data store and relies on modern calendar sync methods. Because .hol is a legacy file format that was never ported to the new codebase, the new Outlook simply ignores .hol files. There is no import button, no drag-and-drop support, and no hidden setting to load them.
If you switch from Classic Outlook to the new Outlook, your existing .hol file remains on your computer. The file is not deleted. But the holidays it contains will not appear on your calendar unless you take manual steps to import them.
How to locate your custom .hol file
Before you can convert or move your holidays, you need to find the .hol file. Classic Outlook stores holiday files in a known folder. The exact path depends on your Outlook version and whether you installed Outlook from Microsoft 365 or a volume license.
The most common location is:
C:\Program Files\Microsoft Office\root\Office16\Holidays\1033
The folder name “1033” is the locale ID for English (United States). If you use a different language, the folder number changes. For example, 1036 is French (France) and 2057 is English (United Kingdom).
If you installed Outlook via the Microsoft Store or a volume license, the path may be:
C:\Program Files (x86)\Microsoft Office\root\Office16\Holidays\1033
Custom .hol files are sometimes saved in the same folder or in a user-created folder. If you cannot find your file, search your entire C drive for hol using Windows File Explorer.
Steps to convert a .hol file to .ics and import it into the new Outlook
The new Outlook can import calendar events from .ics files. You must convert your .hol file to .ics format. There are two methods: manual conversion using a script or automatic conversion using a PowerShell script. Both methods produce the same result.
Method 1: Manual conversion using a text editor and a script
- Open the .hol file in Notepad
Right-click the .hol file and select Open with > Notepad. You will see lines such as “New Year’s Day,20250101”. Each line has a holiday name and a date in YYYYMMDD format. - Copy the content to a new text file
Press Ctrl+A to select all text, then Ctrl+C to copy. Open a new Notepad document and paste the content. - Save the file as .hol.txt
Click File > Save As. Change the “Save as type” dropdown to “All Files”. Name the file holidays.txt and save it on your desktop. This step is optional but helps avoid confusion. - Use a conversion script
You can use a free online converter or a local PowerShell script. For a local script, open Notepad and paste the following code:$holidays = Get-Content -Path “C:\path\to\your\holidays.txt”
$ics = @”
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Manual Conversion//EN
“@
foreach ($line in $holidays) {
$parts = $line.Split(‘,’);
$name = $parts[0];
$date = $parts[1];
$year = $date.Substring(0,4);
$month = $date.Substring(4,2);
$day = $date.Substring(6,2);
$dtstart = “$year$($month)$($day)”;
$ics += “`nBEGIN:VEVENT`nDTSTART;VALUE=DATE:$dtstart`nSUMMARY:$name`nTRANSP:TRANSPARENT`nEND:VEVENT`n”
}
$ics += “`nEND:VCALENDAR”
$ics | Out-File -FilePath “C:\path\to\output\holidays.ics” -Encoding UTF8Replace the input and output paths with your actual file locations. Save the file as Convert-Holidays.ps1. Right-click the file and select “Run with PowerShell”.
- Import the .ics file into the new Outlook
Open the new Outlook. Click File > Open & Export > Import/Export. Select “Import an iCalendar (.ics) file” and click Next. Browse to the holidays.ics file you created and click OK. The new Outlook creates a new calendar named “holidays” and adds all events to it.
Method 2: Use a third-party .hol to .ics converter
- Search for a .hol to .ics converter online
Several free web tools accept a .hol file and return an .ics download. Use a tool that runs entirely in your browser to avoid uploading sensitive data to a server. - Upload your .hol file
Follow the tool’s instructions to select your .hol file. The tool parses the file and generates an .ics file. - Download the .ics file
Save the .ics file to your desktop. - Import the .ics file into the new Outlook
Use the same import steps as in Method 1: File > Open & Export > Import/Export > Import an iCalendar (.ics) file.
What happens to the original .hol file after migration
The .hol file remains on your computer even after you import the .ics file into the new Outlook. You can keep it as a backup. If you ever switch back to Classic Outlook, you can use the .hol file again. Deleting the .hol file has no effect on the new Outlook because the new Outlook does not reference it.
If you want to remove the .hol file to save space or clean up old files, you can delete it manually. The file is typically small, under 100 KB, so the space savings are negligible.
If you cannot locate your .hol file
If you cannot find your .hol file, check whether you still have Classic Outlook installed. Open Classic Outlook and click File > Options > Calendar > Add Holidays. The dialog shows which .hol files are currently loaded. The file path appears in the title bar of the Add Holidays dialog. You can also click Browse to locate the file.
If you no longer have Classic Outlook installed, search your entire computer for hol using File Explorer. If no .hol file exists, you may need to recreate your holiday list from scratch. Use a spreadsheet to list each holiday name and its date, then export the spreadsheet as an .ics file and import it into the new Outlook.
| Item | .hol file | .ics file |
|---|---|---|
| File format | Plain text with name,date pairs | iCalendar standard with VEVENT blocks |
| Supported by Classic Outlook | Yes, via File > Options > Calendar > Add Holidays | Yes, via File > Open & Export > Import/Export |
| Supported by new Outlook | No | Yes, via File > Open & Export > Import/Export |
| Recurring events | Not supported natively | Supported with RRULE |
| Editing | Notepad or text editor | Any calendar app or text editor |
The new Outlook for Windows does not support .hol files. To keep your custom holidays, you must convert the .hol file to .ics and import it. After importing, the holidays appear on a separate calendar that you can rename or merge with your main calendar. For recurring holidays that repeat every year, consider setting up a yearly recurrence rule in the new Outlook instead of importing single-date events.
If you manage holidays for a team, store the .ics file on a shared network drive or SharePoint site so others can import the same set of holidays. The new Outlook does not have a shared holiday file mechanism, but an .ics file can be distributed and imported by anyone.
Advanced tip: Use the PowerShell script from Method 1 to generate an .ics file that marks events as “transparent” (free time). This prevents holidays from showing as busy time in your calendar. The script in Method 1 already includes the TRANSP:TRANSPARENT property.