Box Drawing Characters and Block Elements in Unicode
Before modern UI frameworks, terminal-based applications drew their interfaces using box drawing characters—a set of Unicode characters specifically designed to construct tables, borders, and boxes in plain text. These characters are still heavily used today in terminal UIs, command-line output, and anywhere monospace text needs to look structured.
The Box Drawing Block (U+2500–U+257F)
The Box Drawing block contains 128 characters: single-line and double-line horizontal and vertical bars, corner pieces, T-junctions, and cross-junctions in both thin and thick variants. The basic set looks like this:
- U+2500 ─ BOX DRAWINGS LIGHT HORIZONTAL
- U+2502 │ BOX DRAWINGS LIGHT VERTICAL
- U+250C ┌ BOX DRAWINGS LIGHT DOWN AND RIGHT
- U+2510 ┐ BOX DRAWINGS LIGHT DOWN AND LEFT
- U+2514 └ BOX DRAWINGS LIGHT UP AND RIGHT
- U+2518 ┘ BOX DRAWINGS LIGHT UP AND LEFT
- U+253C ┼ BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
Block Elements (U+2580–U+259F)
Adjacent to Box Drawing, the Block Elements block provides 32 characters that divide a character cell into halves, quarters, and eighths. Combined with terminal colour support, they enable crude but effective pixel graphics in monospace fonts:
- U+2580 ▀ UPPER HALF BLOCK
- U+2584 ▄ LOWER HALF BLOCK
- U+2588 █ FULL BLOCK
- U+2591 ░ LIGHT SHADE
- U+2592 ▒ MEDIUM SHADE
- U+2593 ▓ DARK SHADE
Modern Uses
Box drawing characters are used extensively in:
- Terminal multiplexers (tmux, GNU Screen) for pane borders
- TUI libraries (ncurses, Rich for Python, Ink for JavaScript)
- Command-line tool output (git log graphs, tree command)
- Markdown and plain-text tables in README files and documentation
Search for any of these characters by name or code point using CharLookup search.