ISO 8859-1 / Latin-1 Character Table
| Char | Hex | Unicode name | Note |
|---|---|---|---|
| A0 | No-Break Space | non-breaking space (NBSP) - the invisible that breaks layouts | |
| ¡ | A1 | Inverted Exclamation Mark | inverted exclamation (Spanish ¡) |
| ¢ | A2 | Cent Sign | – |
| £ | A3 | Pound Sign | – |
| ¤ | A4 | Currency Sign | – |
| ¥ | A5 | Yen Sign | – |
| ¦ | A6 | Broken Bar | – |
| § | A7 | Section Sign | – |
| ¨ | A8 | Diaeresis | – |
| © | A9 | Copyright Sign | copyright sign |
| ª | AA | Feminine Ordinal Indicator | – |
| « | AB | Left-Pointing Double Angle Quotation Mark | – |
| ¬ | AC | Not Sign | – |
| | AD | Soft Hyphen | soft hyphen - invisible unless a line break happens there |
| ® | AE | Registered Sign | registered sign |
| ¯ | AF | Macron | – |
| ° | B0 | Degree Sign | degree sign |
| ± | B1 | Plus-Minus Sign | – |
| ² | B2 | Superscript Two | – |
| ³ | B3 | Superscript Three | – |
| ´ | B4 | Acute Accent | – |
| µ | B5 | Micro Sign | – |
| ¶ | B6 | Pilcrow Sign | – |
| · | B7 | Middle Dot | middle dot (Catalan l·l and Greek ano teleia use it) |
| ¸ | B8 | Cedilla | – |
| ¹ | B9 | Superscript One | – |
| º | BA | Masculine Ordinal Indicator | – |
| » | BB | Right-Pointing Double Angle Quotation Mark | – |
| ¼ | BC | Vulgar Fraction One Quarter | – |
| ½ | BD | Vulgar Fraction One Half | – |
| ¾ | BE | Vulgar Fraction Three Quarters | – |
| ¿ | BF | Inverted Question Mark | inverted question mark (Spanish ¿) |
| À | C0 | Latin Capital Letter A With Grave | – |
| Á | C1 | Latin Capital Letter A With Acute | – |
| Â | C2 | Latin Capital Letter A With Circumflex | – |
| Ã | C3 | Latin Capital Letter A With Tilde | – |
| Ä | C4 | Latin Capital Letter A With Diaeresis | – |
| Å | C5 | Latin Capital Letter A With Ring Above | – |
| Æ | C6 | Latin Capital Letter Ae | – |
| Ç | C7 | Latin Capital Letter C With Cedilla | – |
| È | C8 | Latin Capital Letter E With Grave | – |
| É | C9 | Latin Capital Letter E With Acute | – |
| Ê | CA | Latin Capital Letter E With Circumflex | – |
| Ë | CB | Latin Capital Letter E With Diaeresis | – |
| Ì | CC | Latin Capital Letter I With Grave | – |
| Í | CD | Latin Capital Letter I With Acute | – |
| Î | CE | Latin Capital Letter I With Circumflex | – |
| Ï | CF | Latin Capital Letter I With Diaeresis | – |
| Ð | D0 | Latin Capital Letter Eth | – |
| Ñ | D1 | Latin Capital Letter N With Tilde | – |
| Ò | D2 | Latin Capital Letter O With Grave | – |
| Ó | D3 | Latin Capital Letter O With Acute | – |
| Ô | D4 | Latin Capital Letter O With Circumflex | – |
| Õ | D5 | Latin Capital Letter O With Tilde | – |
| Ö | D6 | Latin Capital Letter O With Diaeresis | – |
| × | D7 | Multiplication Sign | multiplication sign - the code point that displaced the French OE in the 1985 draft drama |
| Ø | D8 | Latin Capital Letter O With Stroke | – |
| Ù | D9 | Latin Capital Letter U With Grave | – |
| Ú | DA | Latin Capital Letter U With Acute | – |
| Û | DB | Latin Capital Letter U With Circumflex | – |
| Ü | DC | Latin Capital Letter U With Diaeresis | – |
| Ý | DD | Latin Capital Letter Y With Acute | – |
| Þ | DE | Latin Capital Letter Thorn | – |
| ß | DF | Latin Small Letter Sharp S | German sharp s |
| à | E0 | Latin Small Letter A With Grave | – |
| á | E1 | Latin Small Letter A With Acute | – |
| â | E2 | Latin Small Letter A With Circumflex | – |
| ã | E3 | Latin Small Letter A With Tilde | – |
| ä | E4 | Latin Small Letter A With Diaeresis | – |
| å | E5 | Latin Small Letter A With Ring Above | – |
| æ | E6 | Latin Small Letter Ae | – |
| ç | E7 | Latin Small Letter C With Cedilla | – |
| è | E8 | Latin Small Letter E With Grave | – |
| é | E9 | Latin Small Letter E With Acute | – |
| ê | EA | Latin Small Letter E With Circumflex | – |
| ë | EB | Latin Small Letter E With Diaeresis | – |
| ì | EC | Latin Small Letter I With Grave | – |
| í | ED | Latin Small Letter I With Acute | – |
| î | EE | Latin Small Letter I With Circumflex | – |
| ï | EF | Latin Small Letter I With Diaeresis | – |
| ð | F0 | Latin Small Letter Eth | – |
| ñ | F1 | Latin Small Letter N With Tilde | – |
| ò | F2 | Latin Small Letter O With Grave | – |
| ó | F3 | Latin Small Letter O With Acute | – |
| ô | F4 | Latin Small Letter O With Circumflex | – |
| õ | F5 | Latin Small Letter O With Tilde | – |
| ö | F6 | Latin Small Letter O With Diaeresis | – |
| ÷ | F7 | Division Sign | division sign - same drama: it took the slot meant for oe |
| ø | F8 | Latin Small Letter O With Stroke | – |
| ù | F9 | Latin Small Letter U With Grave | – |
| ú | FA | Latin Small Letter U With Acute | – |
| û | FB | Latin Small Letter U With Circumflex | – |
| ü | FC | Latin Small Letter U With Diaeresis | – |
| ý | FD | Latin Small Letter Y With Acute | – |
| þ | FE | Latin Small Letter Thorn | – |
| ÿ | FF | Latin Small Letter Y With Diaeresis | y with diaeresis - French proper names needed it, but only the small form survived |
ISO/IEC 8859-1 - universally known as Latin-1 - is the single-byte encoding that gave the western web its default alphabet: 191 characters from the Latin script, extended from US-ASCII, and carried into Unicode verbatim as the first 256 code points (U+0000–U+00FF). Every character in the chart above shares its code point and its glyph with its Unicode twin - that one-to-one identity is Latin-1’s defining property.
It descends from DEC’s Multinational Character Set of the VT220 terminal (1983), was built inside ECMA and published in March 1985 as ECMA-94 - a name it still answers to, and one Commodore adopted wholesale for AmigaOS that same year. The chart lists the printable half, 0xA0–0xFF: 96 characters from the non-breaking space to the y-with-diaeresis.
Latin-1 is also the encoding people think they are using but aren’t: it is the most declared single-byte encoding on the web, yet under the HTML5 standard browsers interpret declared Latin-1 pages as the superset Windows-1252 - and the set itself is missing famous residents, from the euro sign (born nine years after the charset) to French’s own OE, oe and capital Y-with-diaeresis, casualties of a legendary standards-committee drama.
How to use
- Read the Hex column as the byte value: in a true Latin-1 byte stream, byte A0 renders the non-breaking space, byte E9 renders é, byte FF renders ÿ. Because Latin-1’s 256 code points are Unicode’s first 256, this table is simultaneously the U+00A0–U+00FF slice of Unicode - which is why decoding Latin-1 bytes is lossless in Unicode.
- Watch the two impostor rows: 0xD7 (multiplication sign) and 0xF7 (division sign) occupy the slots the original 1985 draft reserved for French OE and oe - the story of how they got there is in the FAQ below. 0xA0 (NBSP) and 0xAD (soft hyphen) are the invisible two that most often surprise front-end work.
- Mind the undefined band: 0x80–0x9F has no characters in Latin-1 proper. If you see printable characters there (curly quotes, dashes, the euro), you are actually looking at Windows-1252 - the superset browsers substitute for Latin-1 under the HTML5 rules.
Frequently asked questions
What is the difference between ISO 8859-1 and ISO-8859-1?
The hyphen. ISO-8859-1 (with hyphen) is the IANA-preferred registered name for the standard supplemented with the C0 and C1 control codes from ISO/IEC 6429 - what actually travels on the internet. The registration also carries aliases: latin1, l1, iso-ir-100, csISOLatin1, IBM819/CP819 (IBM), code page 28591 (Windows) and WE8ISO8859P1 (Oracle). In practice the names are used interchangeably; only the strict reading of the bare ISO standard lacks the control codes.
Why do browsers treat Latin-1 as Windows-1252?
Because the WHATWG HTML5 encoding standard says so: Latin-1 is the most declared single-byte encoding for web pages, but browsers interpret declared Latin-1 as the superset Windows-1252, whose 0x80–0x9F band holds 27 extra printable characters (curly quotes, em dashes, the euro). Declared Latin-1 pages may therefore legally contain characters Latin-1 never had. The band is empty in Latin-1 precisely because the C1 control codes were overlaid there - real estate Windows later reused.
How did the multiplication and division signs displace French letters?
In the original draft, French OE and oe sat at 0xD7 and 0xF7, as in DEC’s MCS. The French delegate - Wikipedia notes he was “neither a linguist nor a typographer” - wrongly insisted these were mere ligatures, not independent letters, and the Bull delegation backed him; a Canadian delegate’s objection was rebuffed. The German delegation suggested the multiplication and division signs for the freed slots, and the same “not French” logic cost the capital Y-with-diaeresis its place (the small ÿ stayed). ISO/IEC 8859-15 restored OE, oe, the capital Ÿ and the euro in 1999; the original draft survives as BraSCII.
Why is there no euro sign in Latin-1?
Anachronism in both directions: the character set was introduced in 1987 (published as ECMA-94 in 1985), and the euro sign was first presented to the public on 12 December 1996 - nine years too late. ISO/IEC 8859-15 was the repair, adding the euro and the four lost French/northern letters; Windows instead used the empty 0x80–0x9F band in Windows-1252 (0x80 = euro).
How does Latin-1 relate to Unicode and UTF-8?
Directly: Latin-1’s 256 code points are Unicode’s first 256 (U+0000–U+00FF), and the IANA even registers an ISO-8859-1 window in Unicode - so mapping Latin-1 bytes to Unicode is pure identity. In UTF-8, though, only ASCII keeps its byte value: bytes 0x80 and above become two-byte sequences (0xE9 é becomes C3 A9), which is exactly why untagged Latin-1 text viewed as UTF-8 turns into mojibake.