How to Find Your Lost Windows or Office Product Keys
If you’re planning on doing a reinstall of Windows but can’t find your product key, you’re in luck because it’s stored in the Windows Registry… it’s just not easy to find, and it’s impossible to read without some help. Luckily, we’re here to help.
As you can see in the screenshot above, the product ID is stored in the registry but is in a binary format that can’t be read by humans unless you are some sort of Cylon. You aren’t, are you?
We’re not really sure why Microsoft went to great lengths to make it difficult to see the product keys for their software, especially since they are stored right in there in the registry and can be read by software, if not by humans. We can only assume that they don’t want anybody to re-use a key from an old computer.
The great thing is that you can even recover a key from a computer that won’t boot anymore. All you need is access to the disk drive from a working computer. Keep reading for more.
Note: the keyfinder won’t always work for OEM computers, depending on how they decided to activate the licenses they might have used a single license for all computers. It also doesn’t work for Office 2013.
Finding the Windows Key Without Any Software
Assuming you can boot your computer without any problems, you can easily create a simple VBscript that will read the value out of the registry and then translate it into the format that you need for reinstalling. We’re not sure where this script came from, but reader raphoenix posted it on our forum a long time ago, so we’re sharing it here for you.
Copy and paste the following into a Notepad window:
Set WshShell = CreateObject("WScript.Shell")
MsgBox ConvertToKey(WshShell.RegRead("HKLMSOFTWAREMicrosoftWindows NTCurrentVersionDigitalProductId"))
Const KeyOffset = 52
i = 28
Chars = "BCDFGHJKMPQRTVWXY2346789"
Cur = 0
x = 14
Cur = Cur * 256
Cur = Key(x + KeyOffset) + Cur
Key(x + KeyOffset) = (Cur 24) And 255
Cur = Cur Mod 24
x = x -1
Loop While x >= 0
i = i -1
KeyOutput = Mid(Chars, Cur + 1, 1) & KeyOutput
If (((29 - i) Mod 6) = 0) And (i <> -1) Then
i = i -1
KeyOutput = "-" & KeyOutput
Loop While i >= 0
ConvertToKey = KeyOutput
You’ll need to use File -> Save As, change the “Save as type” to “All Files” and then name it productkey.vbs or something similar ending with the vbs extension. We’d recommend saving to the desktop for easy access.
Once you’ve saved it, you can just double-click and the popup window will show you your product key.
Protip: If you use CTRL + C when the popup window is active, it will copy the contents of the window to the clipboard, and then you can paste it into Notepad or somewhere else.
Use NirSoft’s ProduKey to Recover Product Keys (Even if You Can’t Boot the PC)
The easiest way to get access to your product key is with a third-party utility, and there’s nobody better at those than NirSoft. Their utilities are always crapware-free, and are always really useful. The only issue with this particular utility is that some antivirus will detect it as a false positive, because some malware might try to steal your product key.
All you have to do is download ProduKey, unzip it, and then run it to immediately see all of your product keys. It’s as simple as that.
If you want to recover a key from a dead computer, you can hook up the hard drive to a working PC, and then run ProduKey and use File -> Select Source to point to the external Windows directory. You can then grab the keys from that computer easily.
You can also use a Linux live CD to pull the Windows directory off the other computer and onto a thumb drive, or just grab the registry files if you prefer.