ASCII-tabel
ASCII kent een getal toe aan 128 tekens — de cijfers, de Latijnse letters zonder accenten, veelgebruikte leestekens, en 33 stuurcodes die nooit bedoeld waren om afgedrukt te worden. Elk daarvan staat hieronder in decimaal, hexadecimaal, octaal en binair, met het bijbehorende HTML-entiteitnummer.
De eerste 32 codes en de laatste zijn stuurtekens. De meeste zijn historisch, uit een tijd van teleprinters en ponsband, maar een handjevol draait nog steeds alles wat je typt: 9 is Tab, 10 is de Unix-regeleinde, 13 is de carriage return die Windows daarmee combineert, en 27 begint elke ANSI-escapesequentie die je terminal gebruikt voor kleur.
ASCII vormt de eerste 128 codepunten van Unicode, ongewijzigd, en is daarom nog steeds de gemene deler van vrijwel elke gebruikte codering. UTF-8 is zo ontworpen dat elk zuiver ASCII-bestand al geldig UTF-8 is, byte voor byte.
| Dec | Hex | Oct | Binair | Teken | HTML | Naam |
|---|
| 0 | 00 | 000 | 00000000 | NUL | � | NullStringafsluiter in C. Geen afdrukbaar teken. |
| 1 | 01 | 001 | 00000001 | SOH |  | Begin van kopHistorisch; omkaderde de kop van een transmissieblok. |
| 2 | 02 | 002 | 00000010 | STX |  | Begin van tekstHistorisch; markeerde waar de berichttekst begon. |
| 3 | 03 | 003 | 00000011 | ETX |  | Einde van tekstVerzonden door Ctrl+C, en daarom onderbreekt die toets een programma. |
| 4 | 04 | 004 | 00000100 | EOT |  | Einde van transmissieVerzonden door Ctrl+D; sluit stdin in een Unix-shell. |
| 5 | 05 | 005 | 00000101 | ENQ |  | AanvraagHistorisch; vroeg de andere kant zich te identificeren. |
| 6 | 06 | 006 | 00000110 | ACK |  | BevestigingPositief antwoord in oudere seriële protocollen. |
| 7 | 07 | 007 | 00000111 | BEL |  | BelLaat de terminalbel klinken. Geschreven als \a in C. |
| 8 | 08 | 010 | 00001000 | BS |  | BackspaceBeweegt de cursor één kolom terug. Geschreven als \b. |
| 9 | 09 | 011 | 00001001 | HT | 	 | Horizontale tabDe Tab-toets. Geschreven als \t. |
| 10 | 0A | 012 | 00001010 | LF | | RegelinvoerDe Unix-regeleinde. Geschreven als \n. |
| 11 | 0B | 013 | 00001011 | VT |  | Verticale tabZeldzaam; gaat naar de volgende verticale tabstop. Geschreven als \v. |
| 12 | 0C | 014 | 00001100 | FF |  | PaginavoerPagina-einde voor printers. Geschreven als \f. |
| 13 | 0D | 015 | 00001101 | CR | | RegelterugloopKeert terug naar kolom één. Gecombineerd met LF op Windows. Geschreven als \r. |
| 14 | 0E | 016 | 00001110 | SO |  | Shift outHistorisch; schakelde naar een alternatieve tekenset. |
| 15 | 0F | 017 | 00001111 | SI |  | Shift inHistorisch; schakelde terug naar de standaardset. |
| 16 | 10 | 020 | 00010000 | DLE |  | Data link escapeHistorisch; maakte van de volgende bytes stuurdata. |
| 17 | 11 | 021 | 00010001 | DC1 |  | Apparaatbesturing 1XON — hervat een gepauzeerde transmissie. Verzonden door Ctrl+Q. |
| 18 | 12 | 022 | 00010010 | DC2 |  | Apparaatbesturing 2Historische apparaatbesturing. |
| 19 | 13 | 023 | 00010011 | DC3 |  | Apparaatbesturing 3XOFF — pauzeert transmissie. Verzonden door Ctrl+S. |
| 20 | 14 | 024 | 00010100 | DC4 |  | Apparaatbesturing 4Historische apparaatbesturing. |
| 21 | 15 | 025 | 00010101 | NAK |  | Negatieve bevestigingNegatief antwoord in oudere seriële protocollen. |
| 22 | 16 | 026 | 00010110 | SYN |  | Synchrone inactiviteitVulde stilte op synchrone verbindingen. |
| 23 | 17 | 027 | 00010111 | ETB |  | Einde van transmissieblokHistorisch; beëindigde één blok van een langer bericht. |
| 24 | 18 | 030 | 00011000 | CAN |  | AnnulerenVerwerpt de data die ervoor is verzonden. |
| 25 | 19 | 031 | 00011001 | EM |  | Einde van mediumMarkeerde het fysieke einde van een band of kaartstapel. |
| 26 | 1A | 032 | 00011010 | SUB |  | VervangingEinde-van-bestandmarkering in DOS en CP/M. Verzonden door Ctrl+Z. |
| 27 | 1B | 033 | 00011011 | ESC |  | EscapeBegint een ANSI-escapesequentie — terminalkleuren en cursorbewegingen. |
| 28 | 1C | 034 | 00011100 | FS |  | BestandsscheidingGrofste van de vier datascheiders. |
| 29 | 1D | 035 | 00011101 | GS |  | GroepsscheidingScheidt groepen binnen een bestand. |
| 30 | 1E | 036 | 00011110 | RS |  | RecordscheidingScheidt records binnen een groep. |
| 31 | 1F | 037 | 00011111 | US |  | EenheidsscheidingFijnste scheider; af en toe gebruikt als veldscheider. |
| 127 | 7F | 177 | 01111111 | DEL |  | DeleteAlle bits geponst op ponsband, en daarom staat het bovenaan. |
| Dec | Hex | Oct | Binair | Teken | HTML | Naam |
|---|
| 32 | 20 | 040 | 00100000 | |   | Spatie |
Leestekens en symbolen#
33–47, 58–64, 91–96, 123–126| Dec | Hex | Oct | Binair | Teken | HTML | Naam |
|---|
| 33 | 21 | 041 | 00100001 | ! | ! | Uitroepteken |
| 34 | 22 | 042 | 00100010 | " | " | Aanhalingsteken |
| 35 | 23 | 043 | 00100011 | # | # | Hekje |
| 36 | 24 | 044 | 00100100 | $ | $ | Dollarteken |
| 37 | 25 | 045 | 00100101 | % | % | Procentteken |
| 38 | 26 | 046 | 00100110 | & | & | Ampersand |
| 39 | 27 | 047 | 00100111 | ' | ' | Apostrof |
| 40 | 28 | 050 | 00101000 | ( | ( | Linkerhaakje |
| 41 | 29 | 051 | 00101001 | ) | ) | Rechterhaakje |
| 42 | 2A | 052 | 00101010 | * | * | Asterisk |
| 43 | 2B | 053 | 00101011 | + | + | Plusteken |
| 44 | 2C | 054 | 00101100 | , | , | Komma |
| 45 | 2D | 055 | 00101101 | - | - | Koppelteken-minus |
| 46 | 2E | 056 | 00101110 | . | . | Punt |
| 47 | 2F | 057 | 00101111 | / | / | Schuine streep |
| 58 | 3A | 072 | 00111010 | : | : | Dubbele punt |
| 59 | 3B | 073 | 00111011 | ; | ; | Puntkomma |
| 60 | 3C | 074 | 00111100 | < | < | Kleiner-danteken |
| 61 | 3D | 075 | 00111101 | = | = | Isgelijkteken |
| 62 | 3E | 076 | 00111110 | > | > | Groter-danteken |
| 63 | 3F | 077 | 00111111 | ? | ? | Vraagteken |
| 64 | 40 | 100 | 01000000 | @ | @ | Apenstaartje |
| 91 | 5B | 133 | 01011011 | [ | [ | Linker vierkante haak |
| 92 | 5C | 134 | 01011100 | \ | \ | Terugwaartse schuine streep |
| 93 | 5D | 135 | 01011101 | ] | ] | Rechter vierkante haak |
| 94 | 5E | 136 | 01011110 | ^ | ^ | Circumflexaccent |
| 95 | 5F | 137 | 01011111 | _ | _ | Laag streepje |
| 96 | 60 | 140 | 01100000 | ` | ` | Accent grave |
| 123 | 7B | 173 | 01111011 | { | { | Linker accolade |
| 124 | 7C | 174 | 01111100 | | | | | Verticale streep |
| 125 | 7D | 175 | 01111101 | } | } | Rechter accolade |
| 126 | 7E | 176 | 01111110 | ~ | ~ | Tilde |
| Dec | Hex | Oct | Binair | Teken | HTML | Naam |
|---|
| 48 | 30 | 060 | 00110000 | 0 | 0 | Cijfer 0 |
| 49 | 31 | 061 | 00110001 | 1 | 1 | Cijfer 1 |
| 50 | 32 | 062 | 00110010 | 2 | 2 | Cijfer 2 |
| 51 | 33 | 063 | 00110011 | 3 | 3 | Cijfer 3 |
| 52 | 34 | 064 | 00110100 | 4 | 4 | Cijfer 4 |
| 53 | 35 | 065 | 00110101 | 5 | 5 | Cijfer 5 |
| 54 | 36 | 066 | 00110110 | 6 | 6 | Cijfer 6 |
| 55 | 37 | 067 | 00110111 | 7 | 7 | Cijfer 7 |
| 56 | 38 | 070 | 00111000 | 8 | 8 | Cijfer 8 |
| 57 | 39 | 071 | 00111001 | 9 | 9 | Cijfer 9 |
| Dec | Hex | Oct | Binair | Teken | HTML | Naam |
|---|
| 65 | 41 | 101 | 01000001 | A | A | Hoofdletter A |
| 66 | 42 | 102 | 01000010 | B | B | Hoofdletter B |
| 67 | 43 | 103 | 01000011 | C | C | Hoofdletter C |
| 68 | 44 | 104 | 01000100 | D | D | Hoofdletter D |
| 69 | 45 | 105 | 01000101 | E | E | Hoofdletter E |
| 70 | 46 | 106 | 01000110 | F | F | Hoofdletter F |
| 71 | 47 | 107 | 01000111 | G | G | Hoofdletter G |
| 72 | 48 | 110 | 01001000 | H | H | Hoofdletter H |
| 73 | 49 | 111 | 01001001 | I | I | Hoofdletter I |
| 74 | 4A | 112 | 01001010 | J | J | Hoofdletter J |
| 75 | 4B | 113 | 01001011 | K | K | Hoofdletter K |
| 76 | 4C | 114 | 01001100 | L | L | Hoofdletter L |
| 77 | 4D | 115 | 01001101 | M | M | Hoofdletter M |
| 78 | 4E | 116 | 01001110 | N | N | Hoofdletter N |
| 79 | 4F | 117 | 01001111 | O | O | Hoofdletter O |
| 80 | 50 | 120 | 01010000 | P | P | Hoofdletter P |
| 81 | 51 | 121 | 01010001 | Q | Q | Hoofdletter Q |
| 82 | 52 | 122 | 01010010 | R | R | Hoofdletter R |
| 83 | 53 | 123 | 01010011 | S | S | Hoofdletter S |
| 84 | 54 | 124 | 01010100 | T | T | Hoofdletter T |
| 85 | 55 | 125 | 01010101 | U | U | Hoofdletter U |
| 86 | 56 | 126 | 01010110 | V | V | Hoofdletter V |
| 87 | 57 | 127 | 01010111 | W | W | Hoofdletter W |
| 88 | 58 | 130 | 01011000 | X | X | Hoofdletter X |
| 89 | 59 | 131 | 01011001 | Y | Y | Hoofdletter Y |
| 90 | 5A | 132 | 01011010 | Z | Z | Hoofdletter Z |
| 97 | 61 | 141 | 01100001 | a | a | Kleine letter a |
| 98 | 62 | 142 | 01100010 | b | b | Kleine letter b |
| 99 | 63 | 143 | 01100011 | c | c | Kleine letter c |
| 100 | 64 | 144 | 01100100 | d | d | Kleine letter d |
| 101 | 65 | 145 | 01100101 | e | e | Kleine letter e |
| 102 | 66 | 146 | 01100110 | f | f | Kleine letter f |
| 103 | 67 | 147 | 01100111 | g | g | Kleine letter g |
| 104 | 68 | 150 | 01101000 | h | h | Kleine letter h |
| 105 | 69 | 151 | 01101001 | i | i | Kleine letter i |
| 106 | 6A | 152 | 01101010 | j | j | Kleine letter j |
| 107 | 6B | 153 | 01101011 | k | k | Kleine letter k |
| 108 | 6C | 154 | 01101100 | l | l | Kleine letter l |
| 109 | 6D | 155 | 01101101 | m | m | Kleine letter m |
| 110 | 6E | 156 | 01101110 | n | n | Kleine letter n |
| 111 | 6F | 157 | 01101111 | o | o | Kleine letter o |
| 112 | 70 | 160 | 01110000 | p | p | Kleine letter p |
| 113 | 71 | 161 | 01110001 | q | q | Kleine letter q |
| 114 | 72 | 162 | 01110010 | r | r | Kleine letter r |
| 115 | 73 | 163 | 01110011 | s | s | Kleine letter s |
| 116 | 74 | 164 | 01110100 | t | t | Kleine letter t |
| 117 | 75 | 165 | 01110101 | u | u | Kleine letter u |
| 118 | 76 | 166 | 01110110 | v | v | Kleine letter v |
| 119 | 77 | 167 | 01110111 | w | w | Kleine letter w |
| 120 | 78 | 170 | 01111000 | x | x | Kleine letter x |
| 121 | 79 | 171 | 01111001 | y | y | Kleine letter y |
| 122 | 7A | 172 | 01111010 | z | z | Kleine letter z |
FAQ
Wat is het verschil tussen ASCII en UTF-8?
ASCII definieert 128 tekens, genummerd 0 tot 127. UTF-8 is een codering voor heel Unicode — meer dan 150.000 tekens — en het codeert die eerste 128 als enkele bytes met precies de ASCII-waarden. Elk ASCII-bestand is dus een geldig UTF-8-bestand, maar het omgekeerde geldt alleen als de tekst binnen die 128 tekens blijft.
Waarom stopt de tabel bij 127?
ASCII is een 7-bits standaard, en 2⁷ is 128. Codes 128–255 zijn geen ASCII: ze horen bij welke 8-bits uitbreiding dan ook in gebruik is — Windows-1252, ISO-8859-1 en andere — en dat is precies waarom ze onderling verschillen en waarom tekst met accenten zo vaak verminkt aankomt.
Wat is de ASCII-code voor de spatie?
Decimaal 32, hex 20. Het is een afdrukbaar teken, ook al lijkt het niets, en daarom valt het buiten het bereik van stuurtekens dat bij 31 eindigt.
Waarom staat DEL op 127 in plaats van 0?
Ponsband. Een teken verwijderen betekende elk gaatje op die positie uitponsen, en alle zeven bits geponst is 127. Een verwijderd teken kon niet ongedaan worden gemaakt, en daar komt ook de moderne betekenis vandaan.
Wat is het verschil tussen CR en LF?
CR (13) brengt de printkop terug naar kolom één; LF (10) gaat één regel verder. Unix en macOS beëindigen regels met alleen LF, Windows gebruikt CR gevolgd door LF, en die onenigheid is de reden dat een bestand als één lange regel of met losse ^M-tekens kan verschijnen.