One of my email contacts has a new email address as their company changed their domain name. I have deleted and re-entered her correct email address about half a dozen times in the address book and yet my PC still thinks I am sending her emails to her old domain.com instead of her new domain.com. When I entered her name it defaults to the "olddomain.com" address even though it is nowhere to be found on my PC. I have to select her "newdomain.com" address from the address book for it to work. Has anyone experienced where Outlook is keeping this old email address info? How can I can purge it?
This is an all too common experience for many users.
Use the arrow key to select the incorrect address and press the Delete key.
You can clear the entire autocomplete file: in older versions you need to delete the *.NK2 file from your hard drive, while Outlook 2010 and newer has a button to clear the Autocomplete cache in Options (screenshot below).
Outlook 2010 and newer
Beginning with Outlook 2010, Outlook does not use the NK2 file; it stores the autocomplete cache in the mailbox or data file and caches the addresses in an autocomplete stream at C:\Users\%username%\AppData\Local\Microsoft\Outlook\RoamCache. You can type or paste %localappdata%\Microsoft\Outlook\RoamCache in the address bar of Windows Explorer then press Enter to open the folder location where the cache is stored in a file named Stream_Autocomplete_0_[long GUID].dat.
Clear the autocomplete cache using the File, Options, Mail, Empty Auto-complete list button.
You can also use the /cleanautocompletecache switch to clear the cache.
Close Outlook. Press Windows key + R to open the Run command and type or paste the following line and press enter to start Outlook. (There is a space before /.)
outlook.exe /cleanautocompletecache
If addresses are not saving in the auto-complete list between Outlook sessions and clearing the cache doesn't fix the problem, you may need to delete the RoamCache file. Instructions are at Outlook doesn't save Autocomplete.
See Suggested Contacts and Auto-Complete Lists to learn more about Outlook 2010's autocomplete cache and suggested contacts.
Outlook 2010 also creates a contact for people you send mail to, as insurance if the autocomplete cache becomes corrupt. Look for these contacts in the Suggested Contacts folder. This unpopular feature was removed from Outlook beginning with Outlook 2013.
Clear the NK2 file in Outlook 2007
The nickname files (.nk2) used by Outlook 2007 (and 2003) is found at C:\Documents and Settings\%username%\Application Data\Microsoft\Outlook if you are using Windows XP/2000 or C:\Users\%username%\Application Data\Microsoft\Outlook.
You can access this folder by pasting %USERPROFILE%\Application Data\Microsoft\Outlook in the Address bar of Windows Explorer.
Close Outlook then delete or rename the *.NK2 file. When you restart Outlook it will create a new, empty NK2 file.
Nickname cache is empty
We use Outlook and my users aren't very good at adding email addresses to the Contacts folder and rely heavily on the autocomplete cache, but it gets replaced often. Why does it seem so fragile?
If the users are losing addresses of people they recently replied to (but not older addresses), it's because Outlook crashes or does not close properly and the changes are not written to the NK2 file. The existing *.NK2 shouldn't be replaced by a clean *.NK2 if this happens, but new addresses you've sent new mail to or replied to won't be saved to the file. Less used addresses are replaced by new addresses when the NK2 contains 1000 addresses in Outlook 2003 or 2000 address if using Outlook 2007.
If all addresses disappear, it means something is corrupt and Outlook is replacing the NK2 with a new, clean one.
If you're using the autocomplete cache as your address book because it's too much effort to right click on an address and save it as a new Contact, you should use a utility that creates contacts from all addresses you reply to, as the autocomplete cache is not a good substitute for contacts.
Import addresses from NK2
When you upgrade from Outlook 2007 and earlier in-place and use the same profile, Outlook 2010 or 2013 should import the NK2 you used with your previous Outlook version automatically on the first run. If Outlook didn't import the NK2 automatically, or you are using a new computer and didn't think to move the NK2 file, or you made a new profile, you can import the NK2 after the first run by using the ImportNK2 switch.
When you import the NK2, the contents of the file are merged into the existing nickname cache that is currently stored in your mailbox.
To import .nk2 files into Outlook 2010 and newer, follow these steps:
- Make sure that the .nk2 file is in the following folder:
%appdata%\Microsoft\Outlook
The .nk2 file must have the same name as your current Outlook profile. (By default, the profile name is "Outlook.") - Press Windows Key + R to open the Run dialog.
- In the Open box, type (or paste) outlook.exe /importnk2, and click OK to import the NK2 into your profile.
The .nk2 file is renamed with a .old file name extension on the first start of Outlook 2010. If you need to re-import the .nk2 file, remove the .old file name extension.
Use the nicknames with new profiles
If you create a new profile you can copy the NK2 file used by your old profile. You'll need to rename it so it matches the name of your new profile.
How to clear names from the cache
To remove single addresses, select the name using the arrow keys then press Delete. In Outlook 2010, you can also click the x beside the name to delete it or use the Backspace key.
To remove all of the addresses from the autocomplete cache in Outlook 2007 or 2003, either delete the NK2 file (at %USERPROFILE%\Application Data\Microsoft\Outlook ) or go to Tools, Options, Email Options, Advanced Email Options and deselect the option to suggest names near the bottom of the dialog.
In Outlook 2010, clear the cache using the File, Options, Mail dialog, Empty Auto-complete List button.
Remove an Address from the Auto-Complete Cache Tutorial
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 |
Autocomplete List Cache Size
There is a limit of 1000 names on the autocomplete cache in Outlook. The limit can be raised in Outlook 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 2016, 2019, 365:
HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\AutoNameCheck
Outlook 2013:
HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\AutoNameCheck
Outlook 2010:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Outlook\AutoNameCheck
Outlook 2007:
HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Outlook\AutoNameCheck
Outlook 2003:
HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Outlook\AutoNameCheck
Outlook 2002:
HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\AutoNameCheck
DWORD: MaxNicknames
Value: Between 1 and 2000, in decimal
Do It For Me
The following registry files will change the registry key to 2000 entries. Download the file for your version of Outlook and double click to run.
Outlook 2003 Outlook 2007 Outlook 2010
More Information
To learn more about the files Outlook uses and where they are stored, visit
Outlook & Exchange/Windows Messaging Backup and Dual-Boot.
OUTLOOK.EXE continues running after you exit Outlook
Outlook 2010's Suggested Contacts and Auto-Complete Lists
I'm using Outlook 2013 (IMAP) and when I add a contact from within an email it is only stored in the autocomplete list(?). I was hoping to add the contact directly to the Contacts address book. I can only see this person when I click on To: and search the displayed list. He never actually shows up in my People address book.
How do I fix this? I thought I might import the autocomplete list, but it appears to also include my address book contacts.
When you save a contact by right-clicking on the address and choosing Add to Contacts, it is added to the default contacts folder. That is why you see it when you click on To.
Can you find it if you search People? How many contacts folders do you have?
I just tried the NK2Edit tool. Marvellous piece of software!
My AutoComplete cache disappeared. This allowed me to recreate it from my sent items.
Can't recommend this tool highly enough!
This is Great I used debunk2 to convert .Dat file.
1. The DAT file has larger Size that’s your auto-complete list
2. Make a Backup copy for your File.
3. Rename .dat to .NK2 file
4. Used the debunk2-0.5-win32
5. Point the file .NK2 to Open it
6. Save the file .TSV or .CSV Comma-Separated Values
7. Open the file in a notepad or Excel
8. Select All field to COPY
9. Open the outlook create new email and paste all address and hit enter at the end of your list.
you don't need to sent that's email to everyone, Just close the email open the new e-mail to test all the new list populated.
Dummy e-mail will fool the outlook to re-Index the .Dat was corrupt before.
Good luck!!
Eli M
We are migrating from outlook 2007 to outlook 365 pro plus click to run. We did not migrate users nk2 however some are seeing autocomplete entries. It this because they are stored in a hidden file in the message store?
Could be - the list is stored as a hidden message in mailboxes or data files and if you upgraded in-place, Outlook would convert it to the new stream format on first run.
Your advice was excellent Diane. It's helped dozens of people in our department in their move from Outlook 2007 to 2013 to have their autocomplete lists imported.
Thanks for this article. We have a number of people who rely heavily on autocomplete and get very upset when addresses get dropped off the number stack or they can't find something there exactly where they expect. You recommended a utility that automatically converts autocomplete to suggested contacts - is that one of the ones above and if so which one? Bonus if it can make some sort of local backup in case the machine dies.
I found a reg key for increasing the number of contacts kept to 2000 which we will be using for those folks.
NK2Edit from Nirsoft works well and can read both NK2 and autocomplete streams from newer versions. (Sorry I missed this earlier. )
Our auto-complete lists frequently contain email addresses that do not match the character(s) we have typed. For instance, if I type the letter "d" the first address in the list is sean.normoyle@testpartners.co.uk
I installed NK2Edit and found a few things:
The erroneous addresses are all on our domain.
The erroneous addresses are all Exchange accounts.
Outlook doesn't just look for matches in email addresses. It also looks for matches at the start of the "cn" variable string in the “Email/Exchange String” column. In the case of Sean Normoyle above, this column contains "/o=hs20/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=d54171f451ac409590cf55a24d74eec5-sean.normoyle"
This affects all our staff and occurs with all Outlook versions from 2010 to 2016. We only have 30 email addresses but this issue must be a huge problem for organisations with hundreds or thousands. For them, almost all the addresses in the auto-complete list must be wrong.
I tried removing these Email/Exchange Strings from the NK2 file but Outlook just puts them back in again the next time you send an email to those addresses.
Any help would be very welcome.
It will check the Exchange x500 address. The only solution i have is to type more than one letter - once you type di, the x500's will go away.
Kindly share the link for the utility to edit autocomplete stream in outlook 2016. not for (.NK2) files.
Nk2Edit from nirsoft works with both NK2 and the autocomplete stream.
Does it work with Outlook 2019 as well? This is not specifically mentioned on their site. Thanks
Yes, it does. Outlook 2019 is the same as 2016.