|Original author(s)||Richard Brodie|
(as Multi-Tool Notepad)
11.2302.16.0 / February 24, 2023
|Operating system||Microsoft Windows|
|Platform||IA-32, x86-64, and ARM (historically Itanium, DEC Alpha, MIPS, and PowerPC)|
Windows Notepad is a simple text editor for Windows; it creates and edits plain text documents. First released in 1983 to commercialize the computer mouse in MS-DOS, Notepad has been part of every version of Windows ever since.
In May 1983, at the COMDEX computer expo in Atlanta, Microsoft introduced the Multi-Tool Notepad, a mouse-based text editor Richard Brodie had created, along with the $195 Microsoft Mouse. Also appearing at that COMDEX was the Multi-Tool Word, a word processor that Charles Simonyi was developing and supported the mouse. Most visitors had never heard of a computer mouse before. The mouse began shipping in July. Initial sales were modest because it had no use other than running the programs included in the box (a tutorial, a practice app, and Multi-Tool Notepad.)
The Multi-Tool product line began with expert systems for the Multiplan spreadsheet. On the suggestion of Rowland Hanson, Microsoft dropped the Multi-Tool brand name. Hanson's rationale was that "the brand is the hero" and people wouldn't automatically associate "Multi-Tool" with Microsoft. As a result, the Multi-Tool Notepad and the Multi-Tool Word became Windows Notepad and Microsoft Word, respectively. (Hanson also convinced Bill Gates to rename "Interface Manager" to "Windows" before the release of Windows 1.0.)
Since then, Notepad has been part of Microsoft Windows.
Since the introduction of Microsoft Store in 2012, Microsoft has converted some of the built-in Windows apps into Microsoft Store apps (e.g., Sticky Notes), so that they could be updated independent of Windows releases. Within three years, Notepad has appeared on Microsoft Store thrice. The first time was in August 2019; it vanished shortly thereafter. This version required Windows 10 preview build 18963. During this short-lived presence on the Store, technology news blogs speculated that Microsoft intended to de-couple Notepad's life-cycle from that of Windows 10 and update it more frequently through Microsoft Store. Notepad appeared on Microsoft Store for a second time in April 2020, this time, sporting a new logo. It runs on the preview versions of Windows 10, build number 19541 or later. On 16 February 2022, Microsoft started rolling out a new and redesigned version of Notepad to all Windows 11 users. This version had Dark Mode added and a new Find and Replace flyout with the same functionality. Notepad is now available in the Microsoft Store in both Windows 10 and 11.
Notepad is a text editor, i.e., an app specialized in editing plain text. It can edit text files (bearing the ".txt" filename extension) and compatible formats, such as batch files, INI files, and log files.
Notepad offers only the most basic text manipulation functions, such as finding and replacing text. Until Windows ME, there were almost no keyboard shortcuts and no line-counting feature. Starting with Windows 2000, shortcuts for common commands like "New", "Open", and "Save" were added, as well as a status bar with a line counter (available only when word-wrap is disabled). Before Windows 10 version 1809, Notepad could not properly interpret either Unix-style or Mac-style newline characters. Windows 10 version 1809 also introduced the Ctrl+← Backspace keyboard shortcut (deletes the previous word), zoom functionality, the ability to zoom in and out, and the "Search with Bing" function.
Improving performance has been the main focus of Notepad's development. As part of this effort, Notepad is capable of reading text files even when other apps have acquired a range-based lock on the file.
On Windows 95 and earlier, Notepad renders text files in the Fixedsys font. Starting with Windows NT 4.0 and Windows 98, it allows users to choose their own font to display the text. They cannot, however, select individual parts of the text and change their fonts. Its default font changed to Lucida Console on Windows 2000, and Consolas on Windows 8.
Notepad can print files. It allows customizing headers, footers, and margins before printing. The date, file name, and other information can be placed in the headers and footers with various codes consisting of an ampersand ('&') followed by a letter.
Notepad accepts text from the Windows clipboard, but only in the CF_TEXT format. It strips the pasted text of any embedded font and style information. One could temporarily paste formatted text into Notepad, then immediately copy it again to obtain the raw text. The app also has a simple logging function. Each time it opens a file with ".LOG" on its first line, the app inserts a timestamp on the file's last line.
The supported character encoding includes:
Starting with Windows 10 1809 Insider build, it supports processing of line ending types Unix (LF), Mac OS (CR), DOS/Windows (CRLF).
Opening and editing in left-to-right and right-to-left based languages are done via RichEdit controls and input method editors, available in versions for Windows XP or later.
Notepad used a built-in window class named EDIT. The maximum file size Notepad can open depends on operating system limitations on the size of the EDIT window class, with a different limit in each version of Windows. Because of this limitation, on Windows 3.0, Windows 3.1, and Windows 3.11, Notepad could not open files larger than 54 KB. (Microsoft recommended using another text editor for opening files larger than 45 KB.) This limit was extended to 64 KB in Windows 95, with users now directed to WordPad for larger files. On Windows XP, Notepad was limited to 32 MB and declined to open bigger files. On Windows 11, Notepad uses the RichEdit control. The size limit was raised to about 1 GB, and attempting to open any file larger than that shows a dialog box suggesting that the user open it with a different text editor.
Main article: Bush hid the facts
On the Windows NT family of operating systems (including Windows 2000 and Windows XP), Notepad can detect Unicode files even when they lack a byte order mark. To do this, it calls the
IsTextUnicode() function of the Windows API. Until Windows Vista, this function was imperfect, incorrectly identifying some all-lowercase ASCII text as UTF-16. As a result, Notepad interpreted a file containing a phrase like "aaaa aaa aaa aaaaa" ("4-3-3-5") as a two-byte-encoded Unicode text file. If a font with support for Chinese was installed, nine Chinese characters (桴獩愠灰挠湡戠敲歡) would display. Otherwise, it would display square substitute characters instead of Chinese characters. This issue was resolved on Windows Vista and newer.
Notepad lacks many basic features available in other text editors, such as block selection and MDI. There are many third-party replacements for Notepad with additional functionality, such as AkelPad, Metapad, Notepad++, and TED Notepad, which include features such as syntax coloring, code folding, regular expressions, macros, manual code page selection, themes, sorting, case changes, external change detection, matching braces, visible line-endings, and visible line-wrap indication.
This is not the first time the app has appeared in the Microsoft Store. Originally announced in August last year, Notepad appeared for a while before vanishing.
To load a file, Notepad maps a view of the file as a memory-mapped file and uses that as the source. The code figures out the encoding, performs a code page conversion to UTF-16LE if necessary, puts the result in a memory block, and then uses the EM_SETHANDLE message to hand that entire block to the edit control.