When you type a name in an email’s To, Cc, or Bcc field, Outlook checks the address book to resolve the name against a contact or recipient. This lookup process can slow down if your address book is large or if Outlook has to fetch data from the server repeatedly. The Address Book Lookup Cache stores recently resolved names in memory so that subsequent lookups for the same name happen instantly. This article explains how to increase the cache size using a Windows Registry edit to make name resolution faster.
The default cache size is small, which means Outlook discards old entries quickly and must re-query the address book. By raising the cache size, you keep more resolved names in memory, reducing the number of server calls and speeding up the typing experience. The change applies to Outlook 2016, Outlook 2019, Outlook 2021, and Outlook for Microsoft 365 on Windows 10 and Windows 11.
Key Takeaways: How to Increase the Outlook Address Book Lookup Cache
- Registry path HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Address Book: Where you add or modify the MaxNSCacheEntries value to set the cache size.
- DWORD value MaxNSCacheEntries: A decimal number that determines how many resolved names are stored in memory. Start with 5000 for a large address book.
- Restart Outlook after editing the Registry: The new cache size takes effect only after you close and reopen Outlook.
How the Address Book Lookup Cache Works in Outlook
When you type a partial name in a message’s recipient field, Outlook begins resolving it by searching the address book that is configured in your profile. This can be the Outlook Address Book, the Global Address List from Exchange, or a custom LDAP directory. The resolution process queries the address book service and returns matching entries. Each resolved name is then stored in an internal cache called the Name Service Provider Interface cache, or NSPI cache.
The cache is a simple in-memory table that maps the typed string to the resolved display name and email address. By default, Outlook stores only a small number of entries, typically around 128. Once that limit is reached, the oldest entry is removed to make room for a new one. If you frequently send mail to a large set of contacts, the cache turns over quickly, and Outlook must re-resolve names that were already looked up earlier in the same session.
Increasing the cache size means that more entries remain in memory for the duration of your Outlook session. This is especially helpful if you work with a large Global Address List containing thousands of users, or if you maintain a personal contacts folder with many entries. The cache is cleared when you close Outlook, so the size increase only affects the current session.
Steps to Change the Address Book Lookup Cache Size via Registry
Before editing the Registry, close Outlook completely. The Registry Editor requires administrative privileges on your Windows account. If you are on a corporate-managed computer, your IT department may restrict Registry edits. Create a backup of the Registry key before making changes.
- Open Registry Editor
Press Windows Key + R, type regedit, and press Enter. If User Account Control prompts you, click Yes. - Navigate to the Outlook Address Book key
In the left pane, expand the following path:HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Address Book
If the Address Book folder does not exist, right-click the Outlook folder, select New > Key, and name it Address Book. - Create or modify the MaxNSCacheEntries value
Right-click in the right pane and select New > DWORD (32-bit) Value. Name it MaxNSCacheEntries. Double-click the new value, set the Base to Decimal, and enter a number. For a large address book, start with 5000. Click OK. - Close Registry Editor and restart Outlook
Close the Registry Editor window. Open Outlook and test name resolution by typing a few names in the To field. The cache now holds up to 5000 resolved entries.
If you later want to revert to the default cache size, delete the MaxNSCacheEntries value or set it to 0. Outlook will then use its built-in default of approximately 128 entries.
What Cache Size Should You Use for Your Environment
The optimal cache size depends on the number of unique recipients you address in a typical Outlook session. For most users, a value between 1000 and 5000 is sufficient. A cache size that is too large, such as 50000, may consume significant memory and offer no additional benefit because you are unlikely to address that many distinct recipients in one session.
Small address book with fewer than 500 contacts
Set MaxNSCacheEntries to 500. This covers your full contact list and leaves room for a few Global Address List lookups.
Medium address book with 500 to 2000 contacts
Set MaxNSCacheEntries to 2000. This keeps most of your contacts cached and reduces server queries for the Global Address List.
Large address book with more than 2000 contacts or a large Global Address List
Set MaxNSCacheEntries to 5000 or 10000. This minimizes re-resolution of names you have already typed in the same session.
If the Cache Size Change Does Not Speed Up Name Resolution
Increasing the cache size helps only when the slowdown is caused by repeated lookups of the same names. If name resolution is consistently slow for every new name, the bottleneck is likely elsewhere.
Outlook is still slow when typing the first name in a session
This is expected because the cache is empty at startup. The first few lookups will query the address book directly. After those entries are cached, subsequent lookups should be faster. If the first lookup takes more than a few seconds, check your network connection to the Exchange server or your LDAP directory.
Name resolution fails or returns incomplete results
The cache stores only entries that were successfully resolved. If the address book itself is misconfigured or if your Outlook profile is damaged, no amount of caching will fix the issue. Run the Outlook Inbox Repair Tool (scanpst.exe) on your data file or recreate your Outlook profile.
Outlook crashes or becomes unstable after the Registry edit
An extremely high cache value, such as 100000, can exhaust available memory on systems with less than 8 GB of RAM. Reduce the value to 5000 or delete the MaxNSCacheEntries entry to restore the default behavior.
Default Cache vs Increased Cache: Performance Comparison
| Item | Default Cache (128 entries) | Increased Cache (5000 entries) |
|---|---|---|
| Name resolution speed after 10 lookups | Slow — old entries are evicted and re-queried | Fast — all 10 entries remain cached |
| Memory usage | Minimal — less than 1 MB | Moderate — approximately 5 MB to 10 MB |
| Server load for Global Address List queries | High — many repeated queries for the same names | Low — one query per unique name per session |
| Best for | Users who address fewer than 50 unique recipients per session | Users who address hundreds of unique recipients per session |
This table shows that the increased cache trades a small amount of memory for a significant reduction in server queries and faster typing response. The memory impact is negligible on any system with 8 GB or more of RAM.
You can now adjust the Outlook Address Book Lookup Cache size to match your workflow. After applying the Registry change, test name resolution by composing a new email and typing several names. If you still experience delays, consider checking your network latency or the size of your cached address book. For advanced tuning, you can also adjust the MaxMTCacheEntries value under the same Registry key to control the number of cached offline address book entries separately.