Jeżeli ktoś korzystał kiedyś z DOS-a, Norton Commandera, Turbo Pascala, starych instalatorów, BIOS-ów albo terminalowych programów tekstowych, to prawdopodobnie kojarzy charakterystyczne ramki, bloki, cieniowania i nietypowe symbole wyświetlane na ekranie. Znaki takie jak █, ░, ▒, ▓, │, ─, ┌, ┐, └, ┘ nie były przypadkową ozdobą. To był ważny element tekstowego interfejsu użytkownika.

W czasach, gdy grafika komputerowa była ograniczona, a wiele programów działało w trybie tekstowym, takie znaki pozwalały budować okna, menu, panele, tabelki i proste elementy graficzne. Dziś wygląda to retro, ale wtedy było bardzo praktyczne.

Wiele osób pamięta też metodę wpisywania takich znaków za pomocą klawisza Alt. Przytrzymywało się Alt, wpisywało numer na klawiaturze numerycznej, a po puszczeniu klawisza pojawiał się konkretny znak. Na przykład:

Alt + 219 dawało znak █

Alt + 176 dawało znak ░

Alt + 196 dawało znak ─

Alt + 179 dawało znak │

Potocznie mówiło się na to „kody ASCII”, ale technicznie sprawa jest trochę ciekawsza.

Czym są ALT kody?

ALT kody to sposób wpisywania znaków przez podanie ich numeru z klawiatury numerycznej. W klasycznym środowisku DOS/IBM PC wiele z tych znaków pochodziło nie z czystego ASCII, tylko ze strony kodowej CP437, czyli oryginalnej strony kodowej IBM PC.

Klasyczne ASCII obejmuje zakres od 0 do 127. Są tam podstawowe litery alfabetu łacińskiego, cyfry, znaki interpunkcyjne i znaki sterujące. Natomiast znaki z numerami od 128 do 255 należą już do rozszerzonego zestawu znaków. W DOS-ie bardzo ważną rolę pełniła właśnie strona kodowa CP437.

To w niej znajdziemy między innymi:

  • znaki pseudograficzne do budowania ramek,
  • bloki i cieniowania,
  • symbole matematyczne,
  • wybrane litery narodowe,
  • znaki greckie,
  • nietypowe symbole używane w dawnych programach tekstowych.

Dlatego kiedy ktoś mówi, że Alt + 219 to „kod ASCII pełnego bloku”, to jest to uproszczenie. Dokładniej jest to znak o kodzie 219 w stronie kodowej CP437, czyli pełny blok █.

ASCII, CP437 i stare komputery

W starych komputerach znak nie był traktowany tak jak dzisiaj, gdzie system operacyjny korzysta z fontów, Unicode i renderowania ekranowego. W klasycznym trybie tekstowym komputer przechowywał w pamięci kod znaku oraz jego atrybuty, na przykład kolor. Dopiero sprzętowy generator znaków, często zapisany w ROM-ie, zamieniał dany kod na konkretną bitmapę znaku.

W dużym uproszczeniu wyglądało to tak:

kod znaku w pamięci -> strona kodowa -> generator znaków / font ROM -> znak widoczny na ekranie

Dlatego ten sam numer znaku mógł dawać różny efekt na różnych maszynach, terminalach lub w różnych stronach kodowych. IBM PC, terminale 3270, karty MDA, CGA czy inne rozwiązania sprzętowe mogły używać różnych zestawów znaków albo odmian fontów zapisanych w ROM-ie.

W praktyce dla użytkownika DOS-a najważniejsze było jednak to, że można było użyć kombinacji Alt + numer i szybko wpisać konkretny znak.

Jak wpisywać ALT kody?

Najczęściej robi się to tak:

  1. Włącz klawiaturę numeryczną, czyli Num Lock.
  2. Przytrzymaj lewy Alt.
  3. Wpisz numer znaku na klawiaturze numerycznej.
  4. Puść Alt.
  5. Znak powinien pojawić się w aktywnym programie.

Przykład:

Alt + 219 -> █

Alt + 196 -> ─

Alt + 179 -> │

Warto pamiętać, że w nowoczesnym Windows wynik może zależeć od programu, strony kodowej, fontu oraz tego, czy numer wpisujemy z zerem na początku. W klasycznym DOS-owym sensie najczęściej chodzi jednak o zestaw CP437.

ALT kody 1-31 – znaki specjalne

Kod Znak Opis
Alt+1 ☺ biała buźka
Alt+2 ☻ czarna buźka
Alt+3 ♥ serce
Alt+4 ♦ karo
Alt+5 ♣ trefl
Alt+6 ♠ pik
Alt+7 • punkt
Alt+8 ◘ odwrócony punkt
Alt+9 ○ okrąg
Alt+10 ◙ okrąg z wypełnieniem
Alt+11 ♂ symbol męski
Alt+12 ♀ symbol żeński
Alt+13 ♪ nuta
Alt+14 ♫ podwójna nuta
Alt+15 ☼ słońce
Alt+16 ► strzałka w prawo
Alt+17 ◄ strzałka w lewo
Alt+18 ↕ strzałka góra-dół
Alt+19 ‼ podwójny wykrzyknik
Alt+20 znak akapitu
Alt+21 § paragraf
Alt+22 ▬ poziomy blok
Alt+23 ↨ strzałka pionowa z podstawą
Alt+24 ↑ strzałka w górę
Alt+25 ↓ strzałka w dół
Alt+26 → strzałka w prawo
Alt+27 ← strzałka w lewo
Alt+28 ∟ kąt prosty
Alt+29 ↔ strzałka lewo-prawo
Alt+30 ▲ trójkąt w górę
Alt+31 ▼ trójkąt w dół

ALT kody 32-127 – podstawowy ASCII

Kod Znak Opis
Alt+32 spacja odstęp
Alt+33 ! wykrzyknik
Alt+34 „ cudzysłów
Alt+35 # hash
Alt+36 $ dolar
Alt+37 % procent
Alt+38 & ampersand
Alt+39 ’ apostrof
Alt+40 ( nawias otwierający
Alt+41 ) nawias zamykający
Alt+42 * gwiazdka
Alt+43 + plus
Alt+44 , przecinek
Alt+45 – minus / dywiz
Alt+46 . kropka
Alt+47 / slash
Alt+48 0 cyfra 0
Alt+49 1 cyfra 1
Alt+50 2 cyfra 2
Alt+51 3 cyfra 3
Alt+52 4 cyfra 4
Alt+53 5 cyfra 5
Alt+54 6 cyfra 6
Alt+55 7 cyfra 7
Alt+56 8 cyfra 8
Alt+57 9 cyfra 9
Alt+58 : dwukropek
Alt+59 ; średnik
Alt+60 < mniejsze niż
Alt+61 = znak równości
Alt+62 > większe niż
Alt+63 ? znak zapytania
Alt+64 @ małpa
Alt+65 A wielka litera A
Alt+66 B wielka litera B
Alt+67 C wielka litera C
Alt+68 D wielka litera D
Alt+69 E wielka litera E
Alt+70 F wielka litera F
Alt+71 G wielka litera G
Alt+72 H wielka litera H
Alt+73 I wielka litera I
Alt+74 J wielka litera J
Alt+75 K wielka litera K
Alt+76 L wielka litera L
Alt+77 M wielka litera M
Alt+78 N wielka litera N
Alt+79 O wielka litera O
Alt+80 P wielka litera P
Alt+81 Q wielka litera Q
Alt+82 R wielka litera R
Alt+83 S wielka litera S
Alt+84 T wielka litera T
Alt+85 U wielka litera U
Alt+86 V wielka litera V
Alt+87 W wielka litera W
Alt+88 X wielka litera X
Alt+89 Y wielka litera Y
Alt+90 Z wielka litera Z
Alt+91 [ nawias kwadratowy otwierający
Alt+92 \ backslash
Alt+93 ] nawias kwadratowy zamykający
Alt+94 ^ daszek
Alt+95 _ podkreślenie
Alt+96 ` grawis
Alt+97 a mała litera a
Alt+98 b mała litera b
Alt+99 c mała litera c
Alt+100 d mała litera d
Alt+101 e mała litera e
Alt+102 f mała litera f
Alt+103 g mała litera g
Alt+104 h mała litera h
Alt+105 i mała litera i
Alt+106 j mała litera j
Alt+107 k mała litera k
Alt+108 l mała litera l
Alt+109 m mała litera m
Alt+110 n mała litera n
Alt+111 o mała litera o
Alt+112 p mała litera p
Alt+113 q mała litera q
Alt+114 r mała litera r
Alt+115 s mała litera s
Alt+116 t mała litera t
Alt+117 u mała litera u
Alt+118 v mała litera v
Alt+119 w mała litera w
Alt+120 x mała litera x
Alt+121 y mała litera y
Alt+122 z mała litera z
Alt+123 { klamra otwierająca
Alt+124 | pionowa kreska
Alt+125 } klamra zamykająca
Alt+126 ~ tylda
Alt+127 ⌂ symbol domku

ALT kody 128-175 – litery i symbole CP437

Kod Znak Opis
Alt+128 Ç C z cedillą
Alt+129 ü u z umlautem
Alt+130 é e z akcentem
Alt+131 â a z daszkiem
Alt+132 ä a z umlautem
Alt+133 à a z akcentem
Alt+134 å a z kółkiem
Alt+135 ç c z cedillą
Alt+136 ê e z daszkiem
Alt+137 ë e z umlautem
Alt+138 è e z akcentem
Alt+139 ï i z umlautem
Alt+140 î i z daszkiem
Alt+141 ì i z akcentem
Alt+142 Ä A z umlautem
Alt+143 Å A z kółkiem
Alt+144 É E z akcentem
Alt+145 æ ligatura ae
Alt+146 Æ ligatura AE
Alt+147 ô o z daszkiem
Alt+148 ö o z umlautem
Alt+149 ò o z akcentem
Alt+150 û u z daszkiem
Alt+151 ù u z akcentem
Alt+152 ÿ y z umlautem
Alt+153 Ö O z umlautem
Alt+154 Ü U z umlautem
Alt+155 ¢ cent
Alt+156 £ funt
Alt+157 ¥ jen
Alt+158 ₧ peseta
Alt+159 ƒ znak florina
Alt+160 á a z akcentem
Alt+161 í i z akcentem
Alt+162 ó o z akcentem
Alt+163 ú u z akcentem
Alt+164 ñ n z tyldą
Alt+165 Ñ N z tyldą
Alt+166 ª żeński wskaźnik porządkowy
Alt+167 º męski wskaźnik porządkowy
Alt+168 ¿ odwrócony znak zapytania
Alt+169 ⌐ odwrócony znak not
Alt+170 ¬ logiczne nie
Alt+171 ½ jedna druga
Alt+172 ¼ jedna czwarta
Alt+173 ¡ odwrócony wykrzyknik
Alt+174 « cudzysłów francuski lewy
Alt+175 » cudzysłów francuski prawy

ALT kody 176-223 – pseudografika DOS-a

To najważniejsza część zestawu, jeżeli interesują nas stare programy tekstowe, ramki, bloki i retro interfejsy. W tym zakresie znajdują się znaki, dzięki którym budowano okna, menu, tabele i proste elementy graficzne w trybie tekstowym.

Kod Znak Opis
Alt+176 ░ lekkie cieniowanie
Alt+177 ▒ średnie cieniowanie
Alt+178 ▓ mocne cieniowanie
Alt+179 │ pojedyncza linia pionowa
Alt+180 ┤ połączenie linii w lewo
Alt+181 ╡ pojedyncza pionowa, podwójna w lewo
Alt+182 ╢ podwójna pionowa, pojedyncza w lewo
Alt+183 ╖ narożnik prawy górny mieszany
Alt+184 ╕ narożnik prawy górny mieszany
Alt+185 ╣ podwójne połączenie w lewo
Alt+186 ║ podwójna linia pionowa
Alt+187 ╗ podwójny prawy górny róg
Alt+188 ╝ podwójny prawy dolny róg
Alt+189 ╜ narożnik prawy dolny mieszany
Alt+190 ╛ narożnik prawy dolny mieszany
Alt+191 ┐ pojedynczy prawy górny róg
Alt+192 └ pojedynczy lewy dolny róg
Alt+193 ┴ połączenie do góry
Alt+194 ┬ połączenie w dół
Alt+195 ├ połączenie w prawo
Alt+196 ─ pojedyncza linia pozioma
Alt+197 ┼ skrzyżowanie pojedynczych linii
Alt+198 ╞ połączenie mieszane w prawo
Alt+199 ╟ połączenie mieszane w prawo
Alt+200 ╚ podwójny lewy dolny róg
Alt+201 ╔ podwójny lewy górny róg
Alt+202 ╩ podwójne połączenie do góry
Alt+203 ╦ podwójne połączenie w dół
Alt+204 ╠ podwójne połączenie w prawo
Alt+205 ═ podwójna linia pozioma
Alt+206 ╬ skrzyżowanie podwójnych linii
Alt+207 ╧ połączenie mieszane do góry
Alt+208 ╨ połączenie mieszane do góry
Alt+209 ╤ połączenie mieszane w dół
Alt+210 ╥ połączenie mieszane w dół
Alt+211 ╙ narożnik lewy dolny mieszany
Alt+212 ╘ narożnik lewy dolny mieszany
Alt+213 ╒ narożnik lewy górny mieszany
Alt+214 ╓ narożnik lewy górny mieszany
Alt+215 ╫ skrzyżowanie mieszane
Alt+216 ╪ skrzyżowanie mieszane
Alt+217 ┘ pojedynczy prawy dolny róg
Alt+218 ┌ pojedynczy lewy górny róg
Alt+219 █ pełny blok
Alt+220 ▄ dolny półblok
Alt+221 ▌ lewy półblok
Alt+222 ▐ prawy półblok
Alt+223 ▀ górny półblok

ALT kody 224-255 – greka, matematyka i symbole

Kod Znak Opis
Alt+224 α alfa
Alt+225 ß beta / ostre s
Alt+226 Γ gamma wielka
Alt+227 π pi
Alt+228 Σ sigma wielka
Alt+229 σ sigma mała
Alt+230 µ mikro
Alt+231 τ tau
Alt+232 Φ fi wielkie
Alt+233 Θ theta wielka
Alt+234 Ω omega wielka
Alt+235 δ delta
Alt+236 ∞ nieskończoność
Alt+237 φ fi małe
Alt+238 ε epsilon
Alt+239 ∩ część wspólna
Alt+240 ≡ identyczne / równoważne
Alt+241 ± plus minus
Alt+242 ≥ większe lub równe
Alt+243 ≤ mniejsze lub równe
Alt+244 ⌠ górna część znaku całki
Alt+245 ⌡ dolna część znaku całki
Alt+246 ÷ dzielenie
Alt+247 ≈ w przybliżeniu
Alt+248 ° stopień
Alt+249 ∙ punkt środkowy
Alt+250 · kropka środkowa
Alt+251 √ pierwiastek
Alt+252 ⁿ n w indeksie górnym
Alt+253 ² dwa w indeksie górnym
Alt+254 ■ czarny kwadrat
Alt+255 nbsp twarda / pusta spacja

Najbardziej przydatne ALT kody do ramek i retro grafiki

Jeżeli chcesz szybko budować ramki w stylu DOS-a, najczęściej przydają się poniższe znaki.

Kod Znak Zastosowanie
Alt+176 ░ delikatne tło, cieniowanie
Alt+177 ▒ średnie cieniowanie
Alt+178 ▓ mocne cieniowanie
Alt+179 │ pionowa linia pojedyncza
Alt+196 ─ pozioma linia pojedyncza
Alt+218 ┌ lewy górny róg pojedynczej ramki
Alt+191 ┐ prawy górny róg pojedynczej ramki
Alt+192 └ lewy dolny róg pojedynczej ramki
Alt+217 ┘ prawy dolny róg pojedynczej ramki
Alt+197 ┼ skrzyżowanie pojedynczych linii
Alt+186 ║ pionowa linia podwójna
Alt+205 ═ pozioma linia podwójna
Alt+201 ╔ lewy górny róg podwójnej ramki
Alt+187 ╗ prawy górny róg podwójnej ramki
Alt+200 ╚ lewy dolny róg podwójnej ramki
Alt+188 ╝ prawy dolny róg podwójnej ramki
Alt+206 ╬ skrzyżowanie podwójnych linii
Alt+219 █ pełny blok
Alt+220 ▄ dolny półblok
Alt+223 ▀ górny półblok

Przykładowa pojedyncza ramka:

┌──────────────┐
│  IBM PC DOS  │
└──────────────┘

Przykładowa podwójna ramka:

╔══════════════╗
║  IBM PC DOS  ║
╚══════════════╝

Przykładowe cieniowanie:

░░░░░▒▒▒▒▒▓▓▓▓▓█████

Dlaczego te znaki były tak ważne?

Dzisiaj łatwo zapomnieć, że przez długi czas komputer nie potrzebował graficznego interfejsu, żeby wyglądać „porządnie”. Tryb tekstowy był szybki, oszczędny i bardzo czytelny. Dzięki znakom pseudograficznym można było tworzyć interfejsy, które wyglądały jak okienkowe aplikacje, mimo że w rzeczywistości składały się tylko z tekstu.

Tak działały między innymi:

  • menedżery plików,
  • instalatory,
  • programy diagnostyczne,
  • konfiguratory BIOS-u,
  • narzędzia serwisowe,
  • edytory tekstowe,
  • środowiska programistyczne,
  • programy księgowe i magazynowe,
  • systemy terminalowe.

Znaki pseudograficzne miały tę zaletę, że były obsługiwane sprzętowo i nie wymagały trybu graficznego. Wystarczyło wpisać odpowiedni kod znaku do pamięci ekranu, a karta graficzna lub terminal sam wyświetlał odpowiedni symbol.

ALT kody jako klimat DOS-a, instalatorów i ASCII artu

ALT kody i znaki pseudograficzne nie były tylko techniczną ciekawostką. Z czasem stały się częścią wizualnego języka komputerów osobistych. To właśnie z takich znaków tworzono ramki, menu, paski postępu, cienie, proste logotypy i całe ekrany powitalne programów. W wielu przypadkach nie była to jeszcze grafika w dzisiejszym rozumieniu, ale efekt potrafił być naprawdę klimatyczny.

Wystarczyło kilka znaków: ░, ▒, ▓, █, │, ─, ╔, ╗, ╚, ╝, żeby zbudować coś, co wyglądało jak prawdziwy interfejs. Instalatory gier, konfiguratory dźwięku, programy narzędziowe, menedżery plików i stare aplikacje DOS-owe często wyglądały dzięki temu dużo bardziej „profesjonalnie”, niż wynikałoby to z samego trybu tekstowego.

Dobry przykład to prosty ekran instalatora:

╔══════════════════════════════════════╗
║          GAME INSTALLER              ║
╠══════════════════════════════════════╣
║                                      ║
║  Installing files...                 ║
║                                      ║
║  ▓▓▓▓▓▓▓▓▓▓░░░░░░░░░░  52%           ║
║                                      ║
║  Copying: LEVEL3.DAT                 ║
║                                      ║
╚══════════════════════════════════════╝

Albo klasyczne menu w stylu DOS-a:

┌──────────────────────────────┐
│  1. Start game               │
│  2. Sound setup              │
│  3. Install to hard drive    │
│  4. Exit                     │
└──────────────────────────────┘

Takie rzeczy miały swój charakter. Dzisiaj patrzymy na nie z nostalgią, ale wtedy były bardzo praktyczne. Tryb tekstowy działał szybko, był lekki, czytelny i nie wymagał zaawansowanej karty graficznej. Programista mógł zbudować całkiem wygodny interfejs, mając do dyspozycji tylko znaki, kolory i atrybuty tekstu.

Osobną kulturą był też ASCII art i ANSI art. Na BBS-ach, w scenie komputerowej, w cracktrach, trainerach, demach i różnych programach hobbystycznych tworzono całe logotypy oraz ilustracje zbudowane ze znaków tekstowych. Czasami wykorzystywano zwykłe znaki ASCII, a czasami właśnie rozszerzony zestaw IBM PC, czyli CP437. Znaki blokowe i cieniowanie pozwalały uzyskać coś w rodzaju tekstowego pixel artu.

Można powiedzieć, że ograniczenia sprzętowe wymusiły bardzo kreatywne podejście do obrazu. Skoro nie zawsze można było wygodnie używać grafiki bitmapowej, tworzono grafikę ze znaków. I właśnie dlatego stare instalatory, menu DOS-owe czy ekrany programów narzędziowych miały tak specyficzny klimat. Były proste, ale jednocześnie miały styl, którego trudno pomylić z czymkolwiek innym.

Dlaczego na różnych komputerach te same kody mogły wyglądać inaczej?

To bardzo ważna rzecz w kontekście retro komputerów. Numer znaku to jedno, ale sposób jego interpretacji to drugie.

Na komputerze IBM PC kod 219 w CP437 oznaczał pełny blok █. Ale w innym systemie, terminalu albo stronie kodowej ten sam numer mógł oznaczać coś innego. Wynikało to z tego, że różne maszyny mogły mieć własne kodowania oraz własne fonty zapisane w ROM-ie.

Dlatego analizując stare karty graficzne, terminale, font ROM-y czy EPROM-y z zestawami znaków, trzeba uważać. Sam bajt nie mówi jeszcze wszystkiego. Trzeba wiedzieć, jakiego kodowania używał dany sprzęt i jaki generator znaków odpowiadał za wyświetlanie obrazu.

To szczególnie ciekawe w świecie IBM, gdzie spotykamy różne rodziny urządzeń, na przykład klasyczne PC z MDA/CGA, terminale 3270 czy specjalizowane karty komunikacyjne i terminalowe. Każde z tych rozwiązań mogło mieć własną logikę kodowania znaków.

ALT kody dzisiaj

ALT kody nadal mogą działać w Windows, ale nie zawsze zachowują się dokładnie tak jak w DOS-ie. Współczesne systemy korzystają z Unicode, różnych fontów i innych mechanizmów renderowania tekstu. Dlatego część znaków może wyświetlać się inaczej, a część może nie pojawić się wcale, jeśli użyty font ich nie obsługuje.

Mimo to tabele ALT kodów są nadal przydatne. Przydają się przy pracy z retro komputerami, dokumentowaniu starych programów, analizie BIOS-ów, opisywaniu font ROM-ów, tworzeniu tekstowych ramek albo po prostu z nostalgii za dawnym stylem interfejsów komputerowych.

W praktyce najczęściej warto zapamiętać kilka kodów: 176, 177, 178, 179, 186, 196, 205, 201, 187, 200, 188, 218, 191, 192, 217 i 219. To one dają najwięcej możliwości przy tworzeniu prostych ramek i znaków blokowych.

ALT kody są więc małym, ale bardzo ciekawym fragmentem historii komputerów. Pokazują czasy, w których jeden bajt, jedna strona kodowa i jeden font zapisany w ROM-ie wystarczały, żeby zbudować cały tekstowy interfejs użytkownika.

Kategorie: Varia

mgr Bartłomiej_Speth

Absolwent wydziału Fizyki Uniwersytetu im. Adama Mickiewicza w Poznaniu na kierunku Fizyka z informatyką. Miłośnik komputerów, sprzętu komputerowego oraz otwartego oprogramowania. Specjalizuje się w budowie, naprawach, modyfikacjach laptopów jak i jednostek stacjonarnych. Zapalony PC'towiec od momentu, w którym otrzymał swój pierwszy komputer z procesorem 80286.

2 komentarze

Astarte · 30 maja 2026 o 22:41

Och, wspaniały temat! Pamiętam TurboPascala 7 jak bazę robiłem przy użyciu tych kodów w interfejsie, i jak Norton Commander wyglądał jak zmieniło się stronę kodową w DOSie – łączniki i narożniki potrafiłu się wykrzaczyć na różne Ä albo Ë… Stare dobre czasy… Pozdrawiam i życzę dalszych fajnych artykułów. W gąszczu nowoczesności przydaje się czasem deko nostalgii.

    mgr Bartłomiej_Speth · 2 czerwca 2026 o 13:42

    Tak, nie zapomnę tych różnych DOSowych instalatorów Dooma czy Duke Nukem 3D i inne 🙂

Dodaj komentarz

Symbol zastępczy awatara

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *