Outlook's Auto-Complete or Nickname Cache (*.NK2)

Last reviewed on April 16, 2014

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.

If you are using Outlook 2002, 2003, 2007, 2010, or 2013, use the arrow key to select the incorrect address and press the Delete key.

You can clear the entire autocomplete file (*.NK2): in older versions you need to delete the NK2 file from your hard drive, while Outlook 2010 has a clear cache button in Options (screenshot below).

Older versions of Outlook store nicknames in a file using the extension *.nick but do not support using it for autocomplete.

The nickname files (.nk2) used by older versions of Outlook are 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 easily access this folder by pasting %USERPROFILE%\Application Data\Microsoft\Outlook in the Address bar of your browser or Windows Explorer.

Close Outlook then delete or rename the NK2 file. When you restart Outlook it will create a new, empty NK2 file.

Outlook 2010 or Outlook 2013

Outlook 2010 and 2013 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.

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 2013.

Empty Autocomplete cacheClear 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.

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 2010 doesn’t save Autocomplete.

See Suggested Contacts and Auto-Complete Lists to learn more about Outlook 2010′s autocomplete cache and suggested contacts.

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.

See OUTLOOK.EXE continues running after you exit Outlook

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 or Outlook 2013, follow these steps:

  1. 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.”)
  2. Press Windows Key + R to open the Run dialog.
  3. 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

Tools

debunk2

Open source project to read MS Outlook autocomplete (NK2) files and extract email addresses. Beta version 0.5

Ingresssor

Use Ingresssor (formerly OwtLook) to edit the NK2 file

NK2Edit

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.

NK2View

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 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

Written by

Diane Poremsky
A Microsoft Outlook Most Valuable Professional (MVP) since 1999, Diane is the author of several books, including Outlook 2013 Absolute Beginners Book. She also created video training CDs and online training classes for Microsoft Outlook. You can find her helping people online in Outlook Forums as well as in the Microsoft Answers and TechNet forums.

57 responses to “Understanding Outlook's Auto-Complete Cache (*.NK2)”

  1. Arlene Zimmerly

    Fabulous information and detail. Thank you. However, I'm wanting to repopulate my Auto-Complete Cache in Outlook 2010. I use Windows 7 if that makes a difference. I had to delete and re-establish one of my Hotmail accounts and the auto-complete cache was evidently emptied. All help greatly appreciated.

  2. Jack

    After change of pc autocomplete was empty. Followed your advice and created draft email to all contacts and voila, all contacts now in autocomplete
    Many thanks Diane - you've saved me a lot of effort with this simple advice
    Cheers
    Jack

  3. Marie

    I deleted the cache of my out look addresses. Now I need to relocate the auto complete cache.

  4. Marc Sanders

    Hi. Is there any way to get the Outlook auto-complete list to appear in ALPHABETIC order, rather than most-recently-used? If you have to get 3rd party software, is that safe? Thanks.

  5. Dan Nainan, Comedian

    I've noticed that after a few weeks or months, people disappear from the nickname cache. Is there a way to keep them permanently?

  6. Jim

    Hi,
    I was working in Windows XP, Outlook 2007 and want to move my autocomplete (NK2) to my other PC, running Windows 7, Outlook 2010. I copied out the NK2 file but am struggling to get it to import. Followed the following steps as per this http://support.microsoft.com/kb/980542
    But at the last step I keep getting an error that basically says the NK2 file is not a valid win32 application ??

  7. Joan Triano

    Diane, I have a similar but different problem. Using Outlook 2010, with Windows 7. I have updated Contact Groups with some new addresses in addition to correcting those addresses in each main contact. But when I send mail to the Contact Groups, there are 2 phantom emails (the old addresses) to which emails are sent. I've checked everywhere and cannot find where these addresses might be stored. I read about clearing the autocomplete cache, but these emails are not found there either.

    Any thoughts?

  8. Joan Triano

    I'll give that a try and see if it is resolved next time around. Sorry for the duplicate question - the first submission said it failed. And thanks for the quick response!

  9. Lisa

    It it possible to have Outlook 2010 auto complete if you type in last name first of an address you are sending to?

  10. Charlie

    Diane-- my hard drive died (Win7P-64, OLK-10) and I was able to recover my PST (my OLK profile had just a single POP account in it) but when I set it up on my rebuilt computer (same laptop, recovery DVDs run, OFC-10 reinstalled, etc.), my auto-complete addresses do not come up. My understanding is that they were embedded in the old PST file (someone else had previously told me that OLK-10 stored them in the registry?)-- how can I recover them? MANY thanks for any assistance and your valuable posts which are always a huge help.

  11. Bill

    I'am using Outlook 2010 on win 7-64 and I have emptied the autocomplete and even turned it off and restarted Outlook. My problem is when I click "reply" this persons old email address comes up in the "to" field, and not his current email addy which he sent the email from. I would think that Outlook would always use the senders email addy that he/she sent it from and and not some old addy that autocomplete has stored when I click on "reply"

  12. G

    thanks for the copy paste advice for the autocomplete - i somehow thought of saving them from the recommended contacts when i left the company, but had no idea when i would actually use them on my new computer... now it just works with the draft trick. excellent!

    i do have a question for a microsoft expert though, why would you need to go to the EXPORT folder under advanced options in outlook, to IMPORT a business card? :)

  13. Jonathan Klein

    I want to take email addresses from emails sent to me in which I am one of many people and which all the listings hide the actual email addresses and capture the name-email combo information (i.e. someone's email is shown as "John Smith" and is hiding "johnsmith@domain.com"). Is there a way to do that?

  14. Jonathan Klein

    Diane,
    Thank you for this. However, I wasn't specific enough (sorry): I am interested in unpacking the information into a spreadsheet, with columns for first name, last name, and email. Is that possible?

  15. Jonathan Klein

    That would be great. Thanks for any help you can give!

  16. Jonathan Klein

    Wow, I can't believe I'm the only person to have this problem. There must be a way to copy emails from outlook emails onto a spreadsheet with columns for address and email...

  17. Jonathan Klein

    Any luck?

  18. Chris Tang

    I deleted different contacts from a group email list, but they are still receiving my emails. They are not in those groups anymore, but they still receive them? I looked at a Microsoft forum and they said this has been a known issue with Outlook for a few months, and yet still no solution,any help you can offer?

  19. Josh

    I think I am one of the few cases where the Auto-Complete feature doesn't "stick" between logging on and off of Outlook. Any suggestions to permaentely keep them there?

    Thanks

  20. Corky

    Diane, I have an opposite issue with one of our users than Johnathon Klein. This user was recently converted from Windows XP to Windows7 Enterprise 64-bit and Office 2010 32-bit. He wants only the name displayed, not the FQN. On some addressee's this is the case, but on others, the full address appears, is there any way to standardize on the display name only?

  21. a.habaz@newwavest.com

    Hello, I have a question. The e-mail adresses which are saved in the Microsoft
    Outlook , but are not my contacts (they are not saved as contacts, and I also dont want to save them as contacts) but they are "saved" in the autocomplete for the next time when I want to send an email. How can I get a list of these e-mail adresses?
    A list in excel or simply print them somehow... Is there any possibility? Thank you in advance.
    (sorry I am not an outlook expert...)

  22. calvin.edwards

    Diane, this is related to this question. My org recently went from an older Outlook version to Outlook 2010. Under the old autocomplete, I would type in last names and the autocomplete would fill in the name. Now, with 2010 I have to type in first names. Problem for me is that I have about 10 Johns, 5 Michaeals, 6 Karens, etc. Much easier to fill in by last name for me. Can I either change how Outlook looks for the autocomplete name or would I have to do something like switch name order (first name for last) s in my contacts for Outlook to autocomplete by last name? Thanks!

  23. calvin edwards

    Thank you Diane! I think I may be hosed. in my org, karen smith would be filed as smith, karen in the address book and the email is karen.smith@domain.com. Autocomple only recognizes karen.smith@domain.com

  24. David

    Hi Diane,
    Ive upgraded to Outlook 2013 and would like to export my autocomplete cache to a csv file. I know how to do this in Outlook 2010, but cannot find the option in 2013. Hopefully you have a solution :)

  25. David

    Thank you Diane !
    They had such a clean solution in 2010 for this, bummed they changed it.

  26. Theresa

    We created an account in AD which sync'd to Office 365. The AD account encountered a problem and had to be deleted and re-created. The user maintained identical information including email address on the re-create. However, after the account was re-created when people addressed the user pulling the email address from their cache in Outlook 2007, 2010 and 2013, they would receive a bounce back. They had to delete the address in cache and re-create from the GAL (not local AL). What is in the cached address that makes it unique to an account?

  27. Parul G

    Here is my requirement:
    I want to be able to edit the nk2 file. I want all addresses that are not of my domain to be removed from the file. Thus forcing the user to type out the non -company emails.
    Is this programmatically possible? How?

  28. Jim

    Thank you Diane! The autocomplete issue was bugging me for years and I just lived with it.

  29. parul

    Hi there,
    I want to be able to edit this autcomplete list, however this needs to be done automatically, without the users knowing so.
    We want only our domain email ids to be on this list as we want to force the user to type a non domain email id.
    How can this be acheived?
    Thanks

  30. Jason

    Does Outlook 2013 populate the autocomplete stream differently than previous versions of Outlook? It seems like it is taking addresses from places other than just emails I sent to people. I had an issue where it wasn't keeping new addresses so I cleared it, and that seemed to fix the issue, but there are still addresses in there that I haven't mailed to for years somehow in there. Also, i haven't seen a limit for the amount of addresses Outlook 2013 will keep in the autocomplete stream. Is there one? I don't see a registry key for 2013 to let you change the limit.

Leave a Reply

If the Post Coment button disappears, press your Tab key.