We get questions like this after users upgrade to Outlook 2010: "I upgraded to Outlook 2010. 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.
Autocomplete List
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 Outlook.exe /CleanAutoCompleteCache
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.)
Suggested Contacts
Suggested contacts is a new feature that creates contacts for addresses you send mail to when the address is not already in your address books. This has been a much requested featured over the years, although it tends to result in a contacts folder filled with addresses you'll never need. 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 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.
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.
Outlook 2010 doesn't save addresses to the autocomplete 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.
%localappdata%\microsoft\outlook\
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.
Notes
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.
More Information
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)
Articles that may interest you:
Last reviewed on Mar 17, 2012

This is excellent and helpful information. My company mirged with another and thus our domain changed but my addressed remained the same. I exported out my suggested contacts from Oulook 2010 and brought them into my new Exchange account also using Outlook 2010 where I can see a list of 300 contacts but they don’t populate into the AutoComplete even though I have checked the box to do so and my autocomplete is rebuilding as I send messages. Is there any way I can populate the suggested contacts into the autocomplete? This was much simpler with the .nk2 file.
Thanks,
Darst
Sugested contacts won’t autopopulate the autocomplete cache but it’s fairly simple to do. Open a new message, click the To button, select all names in the suggested contacts folder and add to the message. Repeat for your contacts folder. Close the message without sending.
THANK YOU. You totally saved the day for us.. :)
Thank you so much for your post! I was pulling my hair out trying to resolve this!
I lost my auto-complete list in Outlook 2010 when I deleted my Exchange account. We discontinued MS Exchange and are now using POP3 email addresses. (Don’t ask why! – Long story) I’m using Outlook 2010 on Windows 7 and I haven’t changed computers or upgraded Outlook, I only removed the Exchange email account and set it up as a POP3 email within Outlook 2010. How do I retrieve the list from MS Exchange and import it into the local pst file?
I’m not sure you can recover it if you kept the same profile and removed the exchange account – the autocomplete list may have been replaced.
how long ago did you remove the account? If you have a system restore point, you can go back to before you removed the account and export the Suggested Contacts, which will have the addresses you sent mail to that are not in your Contacts folder. I would probably leave the exchange account in the profile, add the pop3 and point the account to the pst you created for the pop3 account. Set the POP account and the pop3 data file as default. This may copy the autocomplete list to the pst. Also, copy the suggested contacts folder from the mailbox to the pst before removing the exchange account. This will be your best bet at recovering the autocomplete list, as long as your have a restore point and the exchange ost file.
Diane,
Your tip should be included as part of the original article!
Yeah, I thought that too when i wrote it but didn’t have time to edit the page yet. Thanks for reminding me to do it. :)
Hi Diane, my auto complete list also is not populating, i have deleted and re-named the chache populated the list again and worked but when outlook is closed and re-opened my auto complete list is gone again??
Could you please assist, we don’t know what else to do :(
Thanks
Charleen
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 works for the session that you are in with Outlook but once you close outlook and re-open it i lose the auto complete. do i have to do this step every time i open outlook.
When the autocomplete list doesn’t ‘stick’ between sessions, it’s corrupt. Did you close outlook and restart it using this switch
Outlook.exe /CleanAutoCompleteCache
press windows key + r to open the run dialog, type or paste that line into the run field and press enter.
Hi Diane,
thanks for the answere, but still does not work: started Outlook with CleanAutoCompleteCache, “filled” the cache as mentioned above (put all contacts to the “TO”-field) – and closed Outlook.
Next time I opened it (now without CleanAutoCompleteCache) no success: no suggested contacts….
In another forum I read from one guy that he had the same problems – just after installing Outlook 2010 SP1 it worked.
Seems to be a common problem with Outlook 2010, especially when runned via Exchange.
I wouldn’t say its common, because it works for most people, but if Outlook doesn’t close cleanly, the list may be replaced when Outlook restarts. (Did you also delete the RoamCache folder? That is usually not necessary, but if its corrupt. it can help.)
Just a big THANK YOU for this excellent article !!!
Luc
Having a similar problem with autocomplete and following the steps above. To veryify what I accomplished, i was trying to view the “autocomplete list”. Is that possible?
No, you can’t view the autocomplete list within Outlook. You would need to use a 3rd party utility and I don’t know of any at this time. The autocomplete list is a combination of the addresses in the Suggested Contacts folder and the contacts in your contacts folder whom you’ve sent email to, so you should have all the addresses you’ve sent mail to already in Outlook.
Hello Diane,
Your article is excellent, thank you for sharing all the advice.
My situation is a little different in that we want to be able to remove certain addresses from people’s cache, but not all addresses. Is there a way to include a text file as an option to the /CleanAutoCompleteCache option, which contains the strings we do want to delete?
I have been working with a tool, but have not been able to get it to work with consistent results, which after reading your article and a few others, I believe it is due to the hidden message in the data file that you mention. The Tool will modify the stream_Autocache*.dat file properly, but as soon as you open Outlook, at least 9 times out of 10, the names get re-populated and I assume that is due to the streaming data file, or hidden file.
If you have any ideas or suggestions to accomplish that, I would love to hear.
Thank you,
Cathy
No, you can remove some names using the switch. You can delete them as they come up when you are typing. I don’t believe a utility exists to edit Outlook 2010′s list but its really not necessary if you use suggested contacts – you can easily repopulate the autocomplete cache from the suggested contacts and contacts folders.
I have used the “populate auto-complete List” method in outlook 2010 may times 99.99% the time it works perfect. but recently i had one profile that would add names if you sent to the recipient but would not with just a save message. I struggled with it for ever. finally just by chance i tried using the “address book” button instead of the “TO” button. i always though that this was basically the same button. anyway my auto-complete finally added the name. just thought that i would put this out in case anyone else runs in to this issue… still a great article on a life save of a site. Thanks
Interesting. They should work the same… thanks for sharing, it might help someone else.
I can only join all others in THANK YOU for your help!
Hi Diane,
Guess I should have looked earlier for this article before posting in: “Moving Outlook to a New Computer”
The MS article you linked above, “The Auto-Complete list doesn’t remember names or e-mail addresses”, has two sections in it. The instructions you give above for deleting the RoamCache folder (if necessary) is only for non-Exchange accounts. You may want to note there’s a slightly different procedure for Exchange?
Not a problem. You are just too quick for me – I planned to point you to this page. :) The extra step for exchange isn’t always necessary but does help insure it is cleared completely.
Dear valued friends, any one can help me to increase number of records in autocomplete file (.DAT in outlook 2010). Now it is maximum 1.000 entries, if I sent to a new email address, it will delete the old emial address and kiping only 1.000 records. I want 2.000 records because I have lots of email address to be sent.
I try this guide: http://www.nirsoft.net/utils/outlook_nk2_file_size_limit.html but no luck.
Any person can help me. very appreciated
May_Thai
The limit in Outlook 2010 is 2000 addresses. That key should not be in your registry at all. How do you know that you only have 1000 addresses in your autocomplete list?
I use nk2 editor from nirsoft.net, it automatically found stream_autocomplete file and it listed only 1000 entries.
When I sent to a new address (or several addresses) which would be added in auto complete file (extension .DAT) and older address (or several addresses) which has/have not frequently used, was/were deleted.
I use nk2 editor again and found only 1000 records (it keeping maximum 1000 records). I have tried many times and found that it keeping only 1000 entries.
Your kind helps are highly appreciated.
Thank you in advance
Is there any one has spent experiences (maximum records in autocomplete) in outlook 2007 and 2010 ? if so please share knowledge whether maximum is 1000 or 2000.
For me, I use outlook 2010, maximum is only 1000 records, I have tried many times for months and could not increase more than 1000.
Thanks for Diane Poremsky’s information, may be 2000 records are default in outlook 2010 but it may have problem with my outlook.
Please help me to find solution.
Thank you all in advance
I’m checking with the product group on this but note that NK2Edit only reads the stream – Outlook 2010 keeps the autocomplete list in the mailbox and the stream is not always an exact copy. Also, the stream is only updated after the message is sent – you can’t prepopulate the stream, at least with Exchange accounts.
I followed all your instructions and it all works.
However, i would like to have not only the “suggested contact” on the autocomplete list.
I would like to have also the “contacts” that i emailed in the past that are are in my contact list…
Any way to do that?
They should all be on the autocomplete list- up to 1000 names anyway. Use the same method to add them – click the To button, select all, add then close the message form.
Note that we are looking into an issue where this method doesn’t save the autocomplete list when you close Outlook, only addresses you actually sent to are on the list when you open Outlook. Also note that while the autocomplete list is handy, if you try as much of the name as you remember, outlook will autoresolve it to addresses in your address book.
What is stored in the local profile/Microsoft/Office/Roam Cache/stream_autocomplete.dat file? When we add a recipient to our auto-complete list by composing an email and sending it, we see that a contact is created in suggested contacts. When we empty the auto-complete list through File/Options, the suggested contact is not deleted but the autocomplete.dat file disappears in the local profile.
What is the relationship between the two and where are the suggested contacts saved? How does the auto-complete cache move with you if it is stored on your pc in the local profile?
The stream is part of the autocomplete cache but the “real cache” is stored in the data file.
Suggested Contacts are stored in the data file too, in their own folder and aren’t deleted when you empty the cache. They are “insurance” against losing addresses only stored in the cache (fairly common problem in older versions of Outlook). If outlook determines that a contact does not exist, it creates one in suggested contacts for you. You need to delete suggested contacts yourself – you can select all (ctrl+a) and delete. If there are contacts you want to keep drag them to your Contacts folder.
Dear Diane Poremsk,
Thank you so much for your post in other topic which we can change Autocomplete List Cache Size.
I quote the solution:
“There is a limit of 1000 names on the autocomplete cache in Outlook 2003. In Outlook 2007 and Outlook 2010, the limit was raised to 2000. The limit can be raised in Outlook 2003 or lowered in any version by use of a registry setting. Note: this value will not exist by default and is only needed if you want to change the limit.
Outlook 2003: HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AutoNameCheck
Outlook 2007: HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\AutoNameCheck
Outlook 2010: HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\AutoNameCheck
DWORD: MaxNicknames
Value: Between 1 and 2000, in decimal”
and it works with more than 1000 entries saved in my outlook now. Before I found this solution, my outlook 2010 size is 1000 by default.
Thank again
Terrific. So simple why didn’t I think of it! Saved a lot of ear ache given by someone who “didn’t want to update to Outlook in the first place” :-)