November 2017: there is a bug in Outlook 2016's autocomplete that results in Contact Groups not listed in autocomplete. For more information, see "Contact Groups aren’t listed in autocomplete"
We get questions like this after users upgrade Outlook:
I upgraded Outlook. I heard that the NK2 file is no longer being used and was replaced by Suggested Contacts. My NK2 file was renamed to profile_name.nk2.old. When I start typing names in Outlook, addresses come up so everything appears to be working well, except that I don't see any of my contacts from the NK2 file in the Suggested Contacts folder. Why didn't my contacts from the NK2 file correctly import into Suggested Contacts folder?
Outlook 2010 is working fine, but there is some confusion about the auto-complete list and the Suggested Contacts feature.
Also see Understanding Autocomplete cache (NK2) for file paths and more information, especially if using Outlook 2003 or Outlook 2007.
The auto-complete list, aka the NK2 file, was a separate file in Outlook 2003 and Outlook 2007. In Outlook 2010, its a hidden message in the data file. When you upgrade from Outlook 2003/2007 to Outlook 2010, the NK2 is imported into the data store and the NK2 is renamed nk2.old. Addresses are added to the hidden cache file as you send new messages and replies. Because the cache is stored in the data file or mailbox, it moves with you and you'll have the auto-complete list when you open your mailbox on any computer using Outlook 2010.
You can clear the auto-complete list by going to File, Options, Mail - the option to use the auto-complete list and the button to empty it are in the Send messages section about halfway down the dialog.
If you prefer using a command line, switch, it's CleanAutoCompleteCache.
To use, close Outlook and in the Start menu, Search field or Run command (Windows key + R to open) type or paste the following line and press Enter to run
Clearing the auto-complete list only removes the addresses you see as you type in the To, CC, or BCC fields. It will not remove contacts stored in your data file in the Suggested Contacts folder (see next section.)
To disable the autocomplete list by editing the registry, you need to set the ShowAutoSug data value to 0. Administrators can disable it for all users using GPO.
HKEY_CURRENT_USER\Software\Microsoft\office\14.0\Outlook\Preferences DWORD: ShowAutoSug Value: 0
To disable autocomplete using GPO, use a logon script to set this value:
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\Outlook\Preferences DWORD: ShowAutoSug Value: 0
To use with other versions of Outlook that support auto-complete, change 14 in the path to the correct version number for your version of Outlook.
Suggested contacts is a "one-hit wonder" feature available only in Outlook 2010 that creates contacts for addresses you send mail to when the address is not already in your address books.
With the introduction of the auto-complete list in Outlook 2003, we saw many, many users who used the auto-complete list as their address book. They never saved the addresses to contacts and if the NK2 file became corrupted, they lost the addresses. Suggested Contacts was supposed to be the answer for this problem.
Automatically creating contacts for everyone you reply to tends to result in a contacts folder filled with addresses you'll never need, so Outlook used the Suggested Contacts folder to avoid polluting the Contacts folder.
While it was a much requested featured over the years, Suggested Contacts was not popular and was removed from Outlook 2013.
Suggested Contacts solves both problems easily: by using a separate Contacts folder, the "good contacts" folder is not polluted with useless contacts and you don't need to remember to create contacts or worry about losing the auto-complete list.
If you prefer not to use Suggested Contacts, you can disable it in File, Options, Contacts. Note that while this will stop Outlook from creating new contacts in the Suggested Contacts folder, it will not delete the contacts currently in the Suggested Contacts folder.
When Suggested Contacts are disabled, the CreateContactsForOneOffs data value is set to 0 in the registry:
HKEY_CURRENT_USER\Software\Microsoft\office\14.0\Outlook\Contact DWORD: CreateContactsForOneOffs Value: 0
To disable autocomplete using GPO, use a logon script to set this value:
HKEY_CURRENT_USER\Software\Policies\Microsoft\office\14.0\Outlook\Contact DWORD: CreateContactsForOneOffs Value: 0
How to Populate the Auto-complete list
Outlook won't populate the auto-complete cache automatically but it’s a fairly simple task for users.
Open a new message and click the To button, select all of the names in the Suggested Contacts folder and add them to the message. Repeat for your Contacts folder. Close the message without sending.
This method works in all versions of Outlook that use autocomplete.
Note that there is a limit to the number of names you can have on the autocomplete list. In Outlook 2003, it's 1000. In Outlook 2007 and 2010 it's 2000. In all versions, it's an MRU - most recently used - list, so frequently used addresses will always be on the list.
When Outlook 2010 doesn't save addresses to the autocomplete list, first try clearing the cache file, either with the button in File, Options, Mail or by starting Outlook with the /CleanAutoCompleteCache switch mentioned previously.
In most cases, this will fix the problem. If the problem persists, you'll need to delete or rename the RoamCache folder found at C:\Users\[username]\AppData\Local\Microsoft\Outlook\RoamCache (Windows 7/Vista). In most cases, this brute force method is not needed and simply clearing the cache and letting Outlook rebuild it will work.
Close Outlook. In the Start menu's Search field or in the Address bar of Windows Explorer, type or paste the following command to open Windows Explorer to the Appdata local folder.
Delete or rename the RoamCache folder then restart Outlook.
Users with Exchange mailboxes should switch to online mode before deleting the roamcache folder then re-enable cached mode after starting Outlook. This ensures the cache is cleared from the mailbox as well as the local ost. To turn off cached mode and enter online mode, go to File, Account Settings, double click on the Exchange account and clear the Use cached mode checkbox. Click Next and close the dialog then close Outlook. Repeat these steps to re-enable it after deleting the RoamCache folder and restarting Outlook.
Contacts are not added to the auto-complete list until you send an email - importing the NK2 will not create contacts in Suggested Contacts.
New Contacts should only be created in Suggested Contacts if the address is not in your other Contact folders, but in my experience Outlook sometimes has a problem deciding if a contact exists so you can expect a few duplicates in the Suggested Contacts folder.
Any contacts you need to save can be moved to your Contact folder and you can stop the creation of suggested contacts by changing the setting in File, Options, Contacts.
Auto-Complete Cache Editing Tools
Open source project to read MS Outlook autocomplete (NK2) files and extract email addresses. Beta version 0.5
Use NK2Edit to edit or delete information stored in the NK2 file or Outlook 2010/2013's Autocomplete Stream, including the display name, the email address, the exchange string, the Drop-Down display name, and the search string. Free for home use; Commercial license available.
Use NK2View to view, edit or delete entries in Outlook's .NK2 AutoComplete file. Export the records to text, html, or xml files. Freeware. Version 1.37
See Understanding Outlook's Autocomplete Cache (*.NK2) for information specific to Outlook 2003 and Outlook 2007's autocomplete cache.
How to import .nk2 files into Outlook 2010 (MSKB)
Autocomplete Stream (MSDN, information for developers)
Nickname cache (MSDN, information for developers)
The Auto-Complete list doesn’t remember names or e-mail addresses (Office Online)