Where is the Windows license key on Windows 10?

If Windows 10 was ever activated on this computer, then it is now remembered by the Microsoft activation servers using its hardware fingerprint.

There will be no problem installing Windows 10 again on this computer, and activation will be automatic. You do not need to search for the key.


It's likely that I'll need the new machine's Windows 10 key.

You won't need need to manually enter the license key. The OEM license key is embedded in your BIOS and will be detected automatically by Windows.

I would personally just do a completely clean install of Windows 10 and then manually reinstall the applications and import the data from your backup. This will be a very quick process and will guarantee a stable system.

After performing a clean install using a 4+ GB flash drive, Windows will automatically activate itself online almost immediately.

OEM PC manufacturers, such as the one that made the OP's computer, work with Microsoft to embed the license key in the BIOS, which is how Windows is able to activate itself even if you wiped your new PC to do a clean install of Windows before connecting it to the Internet. After activation, Microsoft's activation servers will then know the hardware fingerprint of the computer but not before. They do, however, recognize the OEM license key.

enter image description here

Here's what happens when I run this tool on my PC, which does not have an embedded Windows 10 license key in the BIOS as I built the PC myself and used a regular retail key:

enter image description here


You can use the following script stored as script2.vbs

Option Explicit
Dim objshell,path,DigitalID, Result
Set objshell = CreateObject("WScript.Shell")
'Set registry key path
Path = "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\"
'Registry key value
DigitalID = objshell.RegRead(Path & "DigitalProductId")
Dim ProductName,ProductID,ProductKey,ProductData
'Get ProductName, ProductID, ProductKey
ProductName = "Product Name: " & objshell.RegRead(Path & "ProductName")
ProductID = "Product ID: " & objshell.RegRead(Path & "ProductID")
ProductKey = "Installed Key: " & ConvertToKey(DigitalID)
ProductData = ProductName & vbNewLine & ProductID & vbNewLine & ProductKey
'Show messbox if save to a file
If vbYes = MsgBox(ProductData & vblf & vblf & "Save to a file?", vbYesNo + vbQuestion, "BackUp Windows Key Information") then
Save ProductData
End If
'Convert binary to chars
Function ConvertToKey(Key)
Const KeyOffset = 52
Dim isWin8, Maps, i, j, Current, KeyOutput, Last, keypart1, insert
'Check if OS is Windows 8
isWin8 = (Key(66) \ 6) And 1
Key(66) = (Key(66) And &HF7) Or ((isWin8 And 2) * 4)
i = 24
Maps = "BCDFGHJKMPQRTVWXY2346789"
Do
Current= 0
j = 14
Do
Current = Current* 256
Current = Key(j + KeyOffset) + Current
Key(j + KeyOffset) = (Current \ 24)
Current=Current Mod 24
j = j -1
Loop While j >= 0
i = i -1
KeyOutput = Mid(Maps,Current+ 1, 1) & KeyOutput
Last = Current
Loop While i >= 0

If (isWin8 = 1) Then
keypart1 = Mid(KeyOutput, 2, Last)
insert = "N"
KeyOutput = Replace(KeyOutput, keypart1, keypart1 & insert, 2, 1, 0)
If Last = 0 Then KeyOutput = insert & KeyOutput
End If
ConvertToKey = Mid(KeyOutput, 1, 5) & "-" & Mid(KeyOutput, 6, 5) & "-" & Mid(KeyOutput, 11, 5) & "-" & Mid(KeyOutput, 16, 5) & "-" & Mid(KeyOutput, 21, 5)
End Function
'Save data to a file
Function Save(Data)
Dim fso, fName, txt,objshell,UserName
Set objshell = CreateObject("wscript.shell")
'Get current user name
UserName = objshell.ExpandEnvironmentStrings("%UserName%")
'Create a text file on desktop
fName = "C:\Users\" & UserName & "\Desktop\WindowsKeyInfo.txt"
Set fso = CreateObject("Scripting.FileSystemObject")
Set txt = fso.CreateTextFile(fName)
txt.Writeline Data
txt.Close
End Function

This will give you the product name, product id and installed key.