How to Replace Notepad With Notepad++ or Other Editor

If you’re looking at how to replace Notepad with Notepad++ or any third-party editor, this post explains how to do it. Notepad++ is a free source code editor and Notepad replacement that supports several languages. Let’s see how you can replace Notepad with Notepad++ without replacing any system files.

Notepad is a lightweight program suitable for users who need only very minimal text editing features. For additional features and functionalities, third-party editors like Notepad++ and Sublime Text are awesome with many features built-in.

(Proceed directly to the RECOMMENDED method.)

Which of the Methods below should you use?

If you want Notepad++ to open whenever you double-click a text file, and whenever notepad.exe is executed, follow one of the options under Method 1. This also means that you can’t run Notepad as long as the setting is in effect. This method uses the debugger registry value to redirect a program to another program. Once you redirect a program using this method, when you launch Notepad by running notepad.exe directly or double-click a text file, Notepad++ starts instead of Notepad. This method works in Notepad++ 7.5.9 and higher.

Whereas if you follow Method 2 (which is a traditional file association modification), you can still launch Notepad as usual; you can start Notepad via shortcut, the Run dialog, Open with dialog, etc.

How to Replace Notepad with Notepad++

Method 1

Option 1: Using Notepad++’s new command-line

Note: This is the RECOMMENDED method. It doesn’t need a 3rd party program or script.

Run the following command to replace Notepad with Notepad++.

  1. Start an elevated or admin Command Prompt.
  2. Please copy the following command, paste it in Command Prompt, and press Enter:
    reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /t REG_SZ /d "\"%ProgramFiles(x86)%\Notepad++\notepad++.exe\" -notepadStyleCmdline -z" /f

    Note that you may need to use “%ProgramFiles%\Notepad++\” to substitute for “%ProgramFiles(x86)%\Notepad++\” if you have Notepad++ 64-bit installed, or use the appropriate path if Notepad++ is installed in a non-default location.

    After running the command, the debugger registry value looks like this:

    notepad plus replace debugger notepad.exe

    You can also modify the above registry value using the Registry Editor (regedit.exe) if you don’t prefer the command-line method.
  3. Close the Command Prompt window.

You’ve now replaced Notepad with Notepad++. Launching text files or running Notepad.exe manually will now start Notepad++.

If you wish to undo (reverse) the changes, use the following command:

reg delete "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v "Debugger" /f

Option 2: Use NotepadReplacer program

NotepadReplacer software from Binary Fortress lets you replace Notepad the easy way! No registry edits are needed; the program does that automatically.

Download the NotepadReplacer program and run it.

notepadreplacer replace notepad



Choose the Notepad alternative (say, Notepad++) by browsing and selecting the executable, click Next, and click Install.

notepadreplacer replace notepad

This program sets the debugger for Notepad automatically, redirecting it to “NotepadReplacer.exe,” a proxy program that in turn starts Notepad++ and passes the file name arguments to it.

Replace Notepad with Notepad++

Option 3: Using a Custom VBScript

Here is a tiny script that intercepts the file name argument(s) used with Notepad.exe and automatically passes it on to Notepad++. This script can be set as the redirector/debugger for Notepad.exe via the registry.

  1. Open Notepad, copy the following lines, and paste them:
    Set WshShell = WScript.CreateObject("WScript.Shell")
    If wscript.arguments.count <2 then
    	WshShell.run "notepad++.exe"
    Else
    	sCmd = "notepad++.exe " & """" & wscript.arguments(1) & """"
    	WshShell.run sCmd
    End If
    
  2. Save the file as npp.vbs
  3. Move the file to the C:\Windows directory.
  4. Start the Registry Editor and go to:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
  5. Create a subkey named notepad.exe
  6. Under the notepad.exe key, create a string value (REG_SZ) named Debugger
  7. Double-click Debugger and set its data as follows:
    c:\windows\system32\wscript.exe "c:\windows\npp.vbs"

    Replace Notepad with Notepad++

  8. Then, go to the following key:
    HKEY_CLASSES_ROOT\txtfile\shell\open\command
  9. Double-click (default) and change the value data from:
    %SystemRoot%\system32\NOTEPAD.EXE %1

    to the following:

    %SystemRoot%\system32\NOTEPAD.EXE "%1"
  10. Exit the Registry Editor.

Automate Methods (Options 1 & 3) Using registry files:

  • Download replace-notepad.zip, unzip and run the appropriate registry file. There is also a undo.reg file provided if you want to reverse the changes.

Method 2: Associate Text Files (.txt) with Notepad++

For many users, simply associating the text files with Notepad++ will be enough. This way, Notepad is not blocked or redirected, and you can open it manually at any time.

  1. Create a sample text document on the desktop.
  2. Right-click on the file and click Properties.
    open with change txt files notepad++
  3. Click the Change button, select Notepad++ from the list of apps shown, and click OK.
    notepad++ open with dialog

    If Notepad++ isn’t listed there, click “More apps” to show the extended list. Notepad++ may not be listed there if you’re using the portable edition. If so, click “Look for another app on this PC” and manually browse the Notepad++ folder to select the executable. The default Notepad++ executable path is C:\Program Files (x86)\Notepad++\notepad++.exe

    Double-clicking .txt files will now open Notepad++.

Changing the file association is sufficient for most users. However, if you want to completely replace Notepad with Notepad++ such that every call to Notepad will launch Notepad++, follow one of the three options listed under Method 1.

You can also adopt some of the methods discussed in this article for any other text editor of your choice.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support, my reader. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

11 thoughts on “How to Replace Notepad With Notepad++ or Other Editor”

  1. Worked perfectly for me in PowerShell, thanks! Modified the above to the following, that I include in my fresh pc setup:

    # Replace Notepad with Notepad++
    # See https://www.winhelponline.com/blog/replace-notepad-text-editor-notepad-plus-association/
    $registryPath = "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe"
    $name = "Debugger"
    $value = """C:\Program Files\Notepad++\notepad++.exe"" -notepadStyleCmdline -z"
    
    if(!(Test-Path $registryPath)) {
      New-Item -Path $registryPath -Force | Out-Null
      New-ItemProperty -Path $registryPath -Name $name -Value $value -Force | Out-Null
    } else {
      New-ItemProperty -Path $registryPath -Name $name -Value $value -Force | Out-Null
    }
    Reply
  2. HI,

    I used the reg add command to replace notepad and it “kind” of works…

    The problem I have it’s that it will open ALL FILES on all the folder and SUBfolders of it, so at times Notepad will ask me if I want to open 4567 files and at other times, it will simply open some 20 files, ANY extension including binary files…

    Ideas??

    Reply
  3. The only issue is that it automatically opens Notepad++ with a file called notepad.exe.
    It seems like notepad.exe from C:\Windows is automatically opened inside Notepad++ by using Method 1.
    Also, if you don’t remove ‘ -notepadStyleCmdline -z’ from the value, Notepad++ will try to create an extension-less file named ‘-z’ in your %homepath%.

    Reply
    • @Unknow0059: Interesting! The REG.EXE command-line works perfectly to replace Notepad with Notepad++ (without any specified side-effects). Can you tell me which version of Notepad++ you’re using?

  4. Hi thanks, any way to modify the “edit” right click item for extensions .bat .cmd and others, for ++Notepad? The work around is simply to choose “Send To” or to simply open ++ first and drag it in, but I do this MANY times a day (such is my life) and it’s a distraction. Pre-10 Windows had a utility for this but it seems to be gone.

    Minor, machine’s ‘Program Files’ directories has a space. Is that intentional or typo? Also, the quotes necessary?

    Thanks so MUch

    Reply

Leave a Reply to Johny Woller Skovdal Cancel reply