Notepad++ is a free, open-source text and source code editor for Microsoft Windows, released under the GNU General Public License. It was designed as a replacement for Windows Notepad and is built on the Scintilla editing component. It handles everyday text files as well as code in about 90 programming and markup languages, with each open file in its own tab.
Language recognition and highlighting
When a file opens, Notepad++ identifies its language through a fixed order of checks. It first checks for a language forced on the command line, then the language remembered from the previous session, followed by the file extension. Next come well-known filenames such as makefile or CMakeLists.txt. Finally, it checks the first line for hints such as an <?php or <?xml prolog or a #! shebang. The Language menu overrides the choice at any time.
For the built-in languages, Notepad++ colors keywords, strings, comments and other elements. It also folds blocks of code so they can be collapsed, and supplies auto-completion and a function list. Colors and fonts are set per language in the Style Configurator and stored in the active theme.
User Defined Languages
You can describe formats that Notepad++ does not know through the User Defined Language dialog. A definition holds up to eight keyword groups, line and block comment markers, and number formats. It also holds two groups of operators and delimiter pairs such as quotes with an optional escape character. It includes open, middle and close markers for folding. Each category gets its own font and colors. Notepad++ saves definitions as XML files. You can export and share these files, or import them into another copy of Notepad++.
Multi-caret and column editing
Notepad++ can edit many places at once. Ctrl+click adds extra carets or selections. Typing, pasting or deleting then applies to all of them. Multi-Select commands add every match of the current word, or the next match one at a time. Holding Alt while dragging creates a rectangular column selection, where typed text appears on every row.
The Column Editor fills a column selection with fixed text or with a number sequence. For a number sequence, you choose the start value, step, repeat count and leading zeros. The sequence can use decimal, hexadecimal, octal or binary.
Line and text tools
The Edit menu gathers operations that would otherwise need a script:
- sorting lines alphabetically, ignoring case, as integers, as decimals or by length, with a column selection acting as the sort key;
- removing duplicate or empty lines, joining and splitting lines, and reversing or randomizing line order;
- case conversion, including sentence case, proper case and inverted case;
- switching line endings between Windows, Unix and classic Mac formats;
- commenting or uncommenting lines with the comment markers of the current language.
A change-history margin shows which lines were edited since the last save. A clipboard history panel lets you paste earlier copied text again.
Search, replace and marking
The Find dialog in Notepad++ has three modes. Normal mode matches literal text. Extended mode accepts escape sequences such as \n and \t for line breaks and tabs. Regular Expression mode uses the Boost regex engine, whose syntax is close to PCRE.
Find in Files runs the same search or replacement across a folder and its subfolders. Wildcards filter the search or replacement and can also exclude file types or named folders. Separate commands search all open documents or the files of a project. Results collect in a dockable window grouped by search and file. Double-clicking a line jumps to the match, and a second search can run inside the results.
The Mark tab highlights every match in a document or places a bookmark on each matching line. Bookmarked lines can then be copied, deleted or kept while everything else is removed.
Tabs, split views and file handling
You can move or clone documents into a second view, side by side or stacked. The two views can scroll together. Side panels add a Document Map showing a miniature of the whole file, a Document List, and a Folder as Workspace tree. Project panels group related files, and sessions save the set of open files for later reuse.
With session snapshots and periodic backup enabled, Notepad++ restores the open files on the next launch. This includes unsaved documents that have never been written to disk. It can reload a file automatically when another program changes it. A monitoring mode follows a growing file such as a log, similar to tail -f.
Macros and plugins
The macro recorder captures a sequence of editing commands, such as cursor moves, line operations and case changes. You can play the sequence back once, a set number of times or down to the end of the file. A recorded macro can be saved with a name and keyboard shortcut. The recorder does not capture dialog-based actions, including Find and Replace, file operations and the Column Editor.
Plugins are DLL files that add new functions to Notepad++. The built-in Plugins Admin displays plugins from a list maintained by the development team. It installs, updates, deactivates or removes them. Plugins outside that list can be added manually to the plugins folder.





