Back
Asciify Logo
Asciify
ÛÝ

ASCII 220

Uppercase U with umlautLower half block

ASCII 220 is Ü on Windows and ▄ in old DOS.

Ü (Capital U with Umlaut) is byte 220 in Windows-1252, Unicode U+00DC. German and Turkish capitals need it (ÜBER, ÜSKÜDAR), and Chinese pinyin uses the same letter for the vowel in the surname Lü. Pinyin is where it gets slippery. Chinese input methods type ü as v, and systems that can't store ü write something else, so one person's surname can appear as Lü, Lu, Lv or Lyu across different records. Matching those names takes a mapping between the spellings, not an exact comparison. Old DOS had Ü at 154. In UTF-8 it's C3 9C, which misreads as Ü. The HTML entity is Ü.

▄ (Lower Half Block) is byte 220 in code page 437, the original IBM PC character set, and maps to Unicode U+2584. It fills the bottom half of a character cell, and together with ▀ at 223 it doubles vertical resolution in text mode. Terminal image viewers still use the trick. Character cells are roughly twice as tall as they are wide, so one ▄ with a foreground color for the lower pixel and a background color for the upper one draws two square pixels per cell, and 24-bit color escape codes make real images out of it. If the picture shows thin horizontal stripes, the terminal's line spacing is above 1 and the halves no longer meet. In UTF-8 it's E2 96 84, and the HTML entity is ▄.

Latin LetterBlock Element

Technical Details

Technical Details

Code Example

</>
#include <stdio.h>
int main(void) {
/* On Windows (code page 1252) byte 220 is Ü.
Modern terminals expect UTF-8, so print the code point, not the byte. */
printf("\u00DC\n"); /* UTF-8: C3 9C */
unsigned char b = 220; /* the raw Windows-1252 byte */
printf("%d 0x%02X\n", b, b); /* 220 0xDC */
return 0;
}

Code Example

</>
#include <stdio.h>
int main(void) {
/* Byte 220 is ▄ only on a console using code page 437
(chcp 437 on Windows, or DOSBox). On a UTF-8 terminal the
lone byte 0xDC is invalid and prints as garbage, often �. */
putchar(220);
/* char is signed on x86, so a plain char holding 0xDC is -36.
Use unsigned char when you compare or index by byte value. */
char c = (char)220;
unsigned char u = 220;
printf("\n%d %d\n", c, u); /* -36 220 */
/* Portable: print the Unicode character as UTF-8 instead. */
printf("\u2584\n"); /* E2 96 84 */
return 0;
}

How to Type It

Windows
Hold Alt and type 0220 on the numeric keypad, with Num Lock on. The leading zero picks the Windows code page. Alt+154, without the zero, types it too. No numeric keypad? In Word, type 00DC and press Alt+X.
Mac
Press Option+U, then Shift+U.
Linux
In GNOME, or any desktop running IBus, press Ctrl+Shift+U, type dc, then Space. With a Compose key set up, press Compose, quote, U.
Phone
Tap Shift, then long-press U and pick Ü.

How to Type It

Windows
Hold Alt and type 220 on the numeric keypad, with no leading zero. Windows reads it as a DOS code and inserts ▄. No numeric keypad? In Word, type 2584 and press Alt+X.
Mac
Press Control+Command+Space to open the Character Viewer, then search for "lower half block".
Linux
In GNOME, or any desktop running IBus, press Ctrl+Shift+U, type 2584, then Space.
Phone
Phone keyboards have no key for it. Tap the character at the top of this page to copy it.

Frequently Asked Questions

  • It depends on the language. German writes UE, so MÜLLER becomes MUELLER, which is also how German passports spell it in the machine-readable line. Turkish simply drops the dots, so ÜSKÜDAR becomes USKUDAR. A generic accent-stripping function gives MULLER, which reads as a different name to German speakers, so pick the rule per language.

  • Before Java 18, FileReader and InputStreamReader without a charset used the platform default, which on Western Windows is cp1252, so UTF-8's Ü turns into Ü. Name the charset: `new InputStreamReader(in, StandardCharsets.UTF_8)`. Files.newBufferedReader(path) already defaults to UTF-8, and from Java 18 on the platform default is UTF-8 as well.

  • Both, depending on the list. Dictionaries file Ü under U, so Müller sits beside Muller, while name lists like phone books treat it as UE and put Müller next to Mueller. ICU-based collators offer both: plain de gives the dictionary order, and `new Intl.Collator('de-u-co-phonebk')` gives the phone book one.

  • A file that came from a Mac's older HFS+ file system can store Ü decomposed, as a plain U followed by the combining diaeresis U+0308, so a script matching Übersicht.pdf byte for byte may not find it. Normalize both names to NFC before comparing.

  • Leave out the zero and Windows looks up 220 in the DOS code page, where that slot holds the lower half block used for drawing. Alt+0220 goes through Windows-1252 instead and gives Ü. The lowercase follows the same pattern: Alt+0252 is ü, while Alt+252 lands on a superscript n.

  • The art was drawn in code page 437 with half blocks, and your editor is showing it as Windows-1252, where the lower half ▄ becomes Ü and the upper half ▀ becomes ß. Convert it once in Python with `p.with_suffix('.txt').write_text(p.read_text(encoding='cp437'), encoding='utf-8')`, where p is a Path to the file, and view the result in a monospace font.

Frequently Asked Questions

  • Leave out the zero and Windows looks up 220 in the DOS code page, where that slot holds the lower half block used for drawing. Alt+0220 goes through Windows-1252 instead and gives Ü. The lowercase follows the same pattern: Alt+0252 is ü, while Alt+252 lands on a superscript n.

  • The art was drawn in code page 437 with half blocks, and your editor is showing it as Windows-1252, where the lower half ▄ becomes Ü and the upper half ▀ becomes ß. Convert it once in Python with `p.with_suffix('.txt').write_text(p.read_text(encoding='cp437'), encoding='utf-8')`, where p is a Path to the file, and view the result in a monospace font.

@workani&@alexluthor
Privacy & legal

Privacy

No accounts, no ads, no tracking cookies, and no cross-site tracking. The only analytics we keep are faceless — anonymous, aggregated counts of pages and searches, never tied to you. We store no IP addresses, set no tracking cookies, and build no profiles. Cloudflare hosts the site and handles requests for delivery and security.

Full privacy policy·Extension privacy·legal@asciify.dev

Attributions & licenses

Twemoji
© Twitter, Inc and other contributors · CC-BY 4.0
Noto Color Emoji
© Google · Apache 2.0
Fluent UI Emoji
© Microsoft · MIT
OpenMoji
© HfG Schwäbisch Gmünd · CC-BY-SA 4.0
Toss Face
© Viva Republica (Toss) · SIL OFL 1.1
JoyPixels
© JoyPixels Inc. · Free Limited Use License
SerenityOS Emoji
© The SerenityOS Developers · BSD-2-Clause
EmojiTwo
© EmojiTwo contributors · CC-BY 4.0
Apple Color Emoji
© Apple, Inc.
Facebook Emoji
© Meta Platforms, Inc.

Apple and Facebook emoji styles are proprietary and shown here solely for reference and comparison — a common-sense application of nominative-use / fair-use principles. asciify is not affiliated with, endorsed by, or sponsored by Apple, Inc., Meta Platforms, Inc., or any other rights holder listed above. If a rights holder requests removal of their emoji style from this site, it will be removed.

All other vendor emoji are reproduced for reference and comparison under their respective open licenses listed above.

Character names and code points from the Unicode® Standard. Unicode® and the Unicode Logo are registered trademarks of Unicode, Inc.

Privacy
© asciify.dev 2025-2026