When Word starts slowly or freezes after launch, a poorly performing add-in is often the cause. You can measure exactly how long each add-in takes to load using a built-in Windows tool called Performance Monitor. This article explains how to set up and read the specific performance counter for Word add-in load time. You will learn to identify which add-in slows down Word and then disable or update it.
Key Takeaways: Profiling Word Add-in Load Times
- Performance Monitor (perfmon.exe): The Windows tool that tracks the Add-in Load Time counter in milliseconds per add-in.
- Add-in Load Time counter under MSWord Object: The specific counter that records the cumulative load duration for each COM or VSTO add-in.
- Data Collector Set: A saved configuration that logs add-in load times every time Word starts, enabling later analysis.
Understanding the Add-in Load Time Performance Counter
Word exposes a performance counter named Add-in Load Time under the MSWord Object category. This counter measures the total time in milliseconds that Word spends loading all active add-ins during a single session. The counter resets each time Word starts. You can view the current value, but to capture load times per add-in, you must log the counter over time or use the Process counter to correlate start events.
The counter works for COM add-ins, VSTO add-ins, and some third-party templates. It does not break down the time per individual add-in. To isolate which add-in is slow, you must enable or disable add-ins one at a time and compare the counter value. The counter is available on Windows 10 and Windows 11 for Word 2016 and later versions.
Prerequisites for Using the Counter
You need administrator rights on your computer to run Performance Monitor. The counter is present only after Word has been installed and run at least once. If you cannot find the MSWord Object category, repair your Office installation or run Word as administrator once.
Steps to Profile Word Add-in Load Time With Performance Monitor
- Open Performance Monitor
Press Win + R, type perfmon, and press Enter. In the left pane, expand Data Collector Sets and then User Defined. Right-click User Defined and select New > Data Collector Set. - Name the collector set
Type Word Add-in Load Time as the name. Select Create manually (Advanced) and click Next. Choose Create data logs, check Performance counter, and click Next. - Add the Word performance counter
Click Add. In the list, scroll to MSWord Object. Expand it, select Add-in Load Time, then click Add >>. Under Instances of selected object, choose _Total (or the specific Word process instance if multiple Word sessions run). Click OK. - Set the sampling interval
In the Sample interval box, change the value to 1 and keep the unit as Seconds. A short interval captures the load spike accurately. Click Next. - Choose the log file location
Accept the default folder or click Browse to choose a different folder. Ensure the drive has enough free space. Click Next. - Finish and start the collector
Select Open properties for this data collector set and click Finish. In the properties window, on the Schedule tab, you can set a start time. To start immediately, right-click the new collector set and choose Start. - Launch Word and check the log
Open Word normally. Wait for it to fully load. Go back to Performance Monitor. In the left pane, click Reports, then User Defined, then your collector set. Double-click the latest report to view the graph. The highest spike on the Add-in Load Time line shows the load duration in milliseconds.
Isolating a Single Add-in Load Time
Because the counter shows the total for all add-ins, you must disable add-ins one by one. In Word, go to File > Options > Add-ins. At the bottom, next to Manage, choose COM Add-ins and click Go. Uncheck one add-in, restart Word, and run the collector again. Subtract the new load time from the original to get that add-in individual load time. Repeat for each add-in.
Common Issues When Profiling Add-in Load Times
Performance Monitor Shows No Data for the MSWord Object
This happens when Word was not running when the collector started. Stop the collector, close Word, start the collector, and then open Word. The counter appears only while the Word process is active.
The Counter Value Is Zero or Very Low
A zero value usually means no add-ins are loaded. Check that your add-ins are enabled in Word. Also verify that you selected the correct instance of the MSWord Object counter. If multiple Word processes run, choose the one that matches the PID of your Word session.
Log File Grows Too Fast
A 1-second interval can produce large log files if the collector runs for hours. Set a schedule to stop the collector automatically after 10 minutes. In the collector set properties, on the Stop Condition tab, set Overall duration to 10 minutes.
Performance Monitor vs Word Safe Mode for Add-in Diagnosis
| Item | Performance Monitor | Word Safe Mode |
|---|---|---|
| Purpose | Measure exact load time in milliseconds | Start Word without any add-ins |
| Granularity | Total load time for all add-ins | No add-ins loaded at all |
| Setup effort | Requires creating a data collector set | Hold Ctrl while starting Word or run winword /safe |
| Result interpretation | Numeric value that can be compared across sessions | Binary: Word works or does not work |
| Best for | Quantifying performance impact of add-ins | Confirming that an add-in causes a crash or error |
You can now measure exactly how many milliseconds each add-in adds to Word startup. Start by running the collector with all add-ins enabled, then disable add-ins one at a time to isolate the slow one. For a deeper analysis, combine this counter with the Process\% Processor Time counter to see CPU usage during add-in loading. As an advanced tip, export the collector set as an XML file and import it on other machines to standardize add-in performance testing across your organization.