How to keep Num Lock ON in Windows 10?

I beleive theese answers are excellent and I use them and they worked, but they only adress half the question (problem), which is to turn NumLock at boot time only.

I need Numlock on at ALL time, even after boot.

My problem was that while starting an application (and old one that nothing replaces it yet so I'm stuck with it - Nortel BCM to be precise) that application tries to be cute and to turn on NumLock, but in facts toggles it, and only for itself ! So, I was stuck with that application having numlock on, an Numlock off outside that application... drives me crazy since I use a lot the Numpad for numbers.

Solution ? I use Autohotkey and add this line in any startup autoloading script:

SetNumLockState, AlwaysOn

For thoose who don't know Autohotkey, it is a marvelous FREEWARE, which any self-proclaimed "SuperUser" should be aware of and use extensively.


Ok, so the reg edit DOES work. But only when you turn fast boot OFF. You probably have fast boot turned on (which this is the default setting). If you desire to keep Numlock on at boot, you should do the regedit AND turn fast boot off.

this link should have you covered.

I hope I answered your question!


Most HP laptops have that setting in the BIOS.

  1. Turn on the computer and repeatedly press the ESC key to enter the Startup Menu
  2. Press F10 for Bios setup.
  3. Press on the System Configuration tab.
  4. Select Device Configuration from the list.
  5. Mark on the check box in front of NumLock ON at boot.
  6. Save & Exit

I know this is a weird trick but it does works for me (without the need to edit the registry or turn off the fast boot)

  1. First, shutdown your computer.
  2. Boot the computer back up again.
  3. When you reach the login screen, press the Num Lock key once to enable it.
  4. DO NOT LOGIN into the computer. From the login screen, click the power button and select “Shut down” to shut down the computer again.
  5. Boot the computer back up and Num Lock will be enabled on the login screen and permanently on, until you turn it off yourself.

Try this and see if it works for you too.


Create a file called Numlock.ps1 and put the following in it, followed by an empty line:

If ([console]::NumberLock -eq $False) {
$wsh = New-Object -ComObject WScript.Shell
$wsh.SendKeys('{NUMLOCK}')}

Create a file called Numlock.cmd and put the following in it, followed by an empty line:

PowerShell.exe -ExecutionPolicy bypass -File "Numlock.ps1"
  • Put these files in a folder that is accessible to all users
  • Create a shortcut to Numlock.cmd
  • Move the shortcut to the startup folder ("C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp")
  • Reboot your PC and numlock should be turned on by default now