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.
(This article applies to all versions of Windows, including Windows 10/11.)
Contents
(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++.
- Start an elevated or admin Command Prompt.
- Copy the following command, paste it into 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, thedebugger
registry value looks like this:You can also modify the above registry value using the Registry Editor (regedit.exe
) if you don’t prefer the command-line method.Windows 11 – Additional Steps needed
Windows 11 comes with the modern/UWP Notepad Store app, which replaces classic Notepad (using the “
AppExecutionAliasRedirect
” registry setting) by default. To replace Notepad with Notepad++ in Windows 11, you’ll need to restore the classic Notepad, or uninstall the modern Notepad app via Settings → Apps & Features. Also, run the following command-line if required:reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /t REG_DWORD /v "UseFilter" /d 0 /f
- 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.
Choose the Notepad alternative (say, Notepad++) by browsing and selecting the executable, click Next, and click Install.
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.
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.
- 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
- Save the file as
npp.vbs
- Move the file to the
C:\Windows
directory. - Start the Registry Editor and go to:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
- Create a subkey named notepad.exe
- Under the
notepad.exe
key, create a string value (REG_SZ) namedDebugger
- Double-click Debugger and set its data as follows:
c:\windows\system32\wscript.exe "c:\windows\npp.vbs"
- Then, go to the following key:
HKEY_CLASSES_ROOT\txtfile\shell\open\command
- Double-click
(default)
and change the value data from:%SystemRoot%\system32\NOTEPAD.EXE %1
to the following:
%SystemRoot%\system32\NOTEPAD.EXE "%1"
- 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.
- Create a sample text document on the desktop.
- Right-click on the file and click Properties.
- Click the Change button, select Notepad++ from the list of apps shown, and click OK.
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 isC:\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!
thank you.
method 1 worked ideally for me
Can’t set font or font sizes
Worked perfectly for me in PowerShell, thanks! Modified the above to the following, that I include in my fresh pc setup:
Automate Methods Using REG files -> works for me, thanks
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??
2019/10/21
Thanks. Method 1 is exactly what I was looking for.
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%.
@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?
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
@wschloss: Regarding the Edit menu, let me put an article on that separately. Alternately, you can add an “Open with Notepad++” context menu entry.
https://www.winhelponline.com/blog/open-with-notepad-plus-right-click-menu-windows/
As for the
%ProgramFiles%
path, the variable shouldn’t have space in between. It’s intentional. The double-quotes are required.Option 2: NotepadReplacer does make that “Edit” context menu item open your choice of text editor. In my case I chose TextAdept for its consistency across OSes, plus it has both a GUI and a Terminal interface.
Please put dates prominently at the top of your articles. Technology moves fast, and it is essential to know when an article was posted.
If it was in the last week: Great! This may be exactly what I need!
If it was posted way back in… looks like your site started in 2005? Yeah, the chances that this is still relevant is pretty low.
Knowing right at the outset where it is on this spectrum is an easy way to reduce wasted time.
Thanks!
Useful. I tried symlinking and paid 🙂
move c:\windows\notepad.exe notepad2.exe
mklink notepad.exe “C:\Program Files\Notepad++\Notepad++.exe”
🙂
Not an issue because of your other post on CBS issues.