This is the complete list of the first 256 Windows ALT Codes Symbols or characters. ALT codes are useful for quickly inserting special characters and symbols that are not found on a normal computer keyboard. ALT Codes are also called ALT Key Codes, ALT Numeric Pad Codes and ALT Numpad Codes.
ALT codes without leading zeroes (
ALT xxx) and ALT codes with leading zeroes (
ALT 0xxx) produce different characters and symbols.
ALT codes without leading zeroes (
ALT xxx) produce characters & symbols based on IBM Code Page 437 / DOS.
ALT codes with leading zeroes (
ALT 0xxx) produce characters & symbols based on Windows Code Page 1252.
ALT codes in red are associated with non-printable control characters.
For instructions on how to use ALT codes, click here.
What are ALT Codes
On the IBM Personal Computer, a computer user could enter a special character from IBM’s Code Page 437 / DOS by holding down the ALT key and entering the decimal code (0, 1-255) on the numeric key pad that corresponds to the special character. Later on, when Microsoft introduced their new proprietary character sets in Windows, such as Windows Code Page 1252 and later Unicode, many users had grown accustomed to Code Page 437, and memorized the decimal codes for it, that Microsoft chose to retain it and their decimal codes. Microsoft added the ability to enter special characters from their new proprietary character set, Windows Code Page 1252, by typing a leading 0 (zero) before their corresponding decimal codes (0, 01-0255).
History of Windows Alt Codes
Windows ALT codes based on Code Page 437
ALT Codes without leading zeroes (ALT 1 – ALT 255) produces special characters based on IBM’s Code Page 437 / DOS.
Code Page 437 is the character set of the original IBM PC (personal computer) and DOS. It is also known as CP437, OEM-US, OEM 437, PC-8, or DOS Latin US. In turn, Code Page 437 is based on, and is a superset of, the older character encoding standard ASCII (US-ASCII).
Description of ALT Codes character repertoire based on Code Page 437
- ALT 0 – ALT 31 and ALT 127 produces a range of whimsical graphical characters from Code Page 437, such as the smiley face and heart symbol. In ASCII, codes 0-31 and 127, are for non-printable control characters associated with old teletype transmissions such as line feed (LF) and carriage return (CR). To make use of these codes associated with otherwise un-printable and un-displayable ASCII control characters that have gone into obsolescence, IBM re-purposed and assigned smiley face characters, musical note characters, playing card suit characters and others to these codes in Code Page 437. See the story here.
- ALT 32 – ALT 126 produces characters from Code Page 437 that are composed of, and correspond to, ASCII codes 32–126, which are the standard ASCII printable characters composed of Latin letters, digits, punctuation marks, and a few miscellaneous symbols.
- ALT 128 – ALT 255 produces characters from Code Page 437 that are composed of extended characters which include international text or accented letters (diacritics), some Greek letters, line-drawing (box-drawing) symbols, mathematical symbols and miscellaneous symbols.
Windows ALT codes based on Windows Code Page 1252
ALT Codes with leading zeroes (ALT 01 – ALT 0255) produces special characters based on Windows Code Page 1252 (CP-1252) or Windows-1252.
Code Page 1252 is based on ASCII. It is a strict superset of ASCII wherein the first 128 codes are ASCII.
Historically and erroneously, Windows Code Page 1252 was also referred to as an “ANSI Code Page”, as it was based on an American National Standards Institute (ANSI) draft. Microsoft anticipated that the draft would be an ANSI standard and implemented it before the draft was finalized, however that draft forked and became the ISO 8859-1 standard instead and is not exactly the same as Windows Code page 1252 that Microsoft implemented. So, regardless of its widespread use and popularity, Windows Code Page 1252 has never been an ANSI standard. Therefore, though it persists, it is a misnomer to refer to Windows Code Page 1252 as an “ANSI Code Page”.
Description of ALT Codes character repertoire based on Windows Code Page 1252
- ALT 0 – ALT 031 and ALT 0127 do not produce any printable or displayable characters from Windows Code Page 1252 as they are composed of, and directly correspond to, ASCII codes 0-31 and 127 which are un-printable and un-displayable control characters associated with old teletype transmissions such as line feed (LF) and carriage return (CR).
- ALT 032 – ALT 0126 produces characters from Windows Code Page 1252 that are composed of, and correspond to, ASCII codes 32–126, which are the standard ASCII printable characters composed of Latin letters, digits, punctuation marks, and a few miscellaneous symbols. In this regard, IBM Code Page 437 and Windows Code Page 1252 produce the same characters in this range of ALT codes.
- ALT 0128 – ALT 0255 produces characters from Windows Code Page 1252 that are composed of extended characters which include international text or accented letters (diacritics) designed for Latin-1 languages (Afrikaans, Basque, Catalan, Danish, Dutch, English, Faroese, Finnish, French, Galician, German, Icelandic, Indonesian, Italian, Malay, Norwegian, Portuguese, Spanish, Swahili, Swedish), punctuation symbols used in Europe, currency symbols (notably the Euro sign) and miscellaneous symbols. Characters produced in this range of ALT codes from IBM Code Page 437 and from Windows Code Page 1252 widely differ.
In Windows programs and applications, ALT codes starting at 256 and above produce the same characters whether they have leading zeroes or not. For example, ALT 256 and ALT 0256 will both produce the same character Ā.
For instructions on how to use ALT codes to enter special characters and symbols, click here.
References and Sources:
Alt Code (https://en.wikipedia.org/wiki/Alt_code)
Windows code page (https://en.wikipedia.org/wiki/Windows_code_page)
Code page 437 (https://en.wikipedia.org/wiki/Code_page_437)
ISO/IEC 8859-1 (https://en.wikipedia.org/wiki/ISO/IEC_8859-1)
C0 and C1 control codes (https://en.wikipedia.org/wiki/C0_and_C1_control_codes)
Code Pages (https://msdn.microsoft.com/en-us/library/windows/desktop/dd317752(v=vs.85).aspx)
A brief introduction to code pages and Unicode (https://www.ibm.com/developerworks/library/ws-codepages/index.html)