🔣 Symbol Reference

Geometric Shapes Complete Guide

Unicode's Geometric Shapes block contains 96 characters covering circles, squares, triangles, diamonds, and other polygons in filled, outlined, and various shaded styles. This complete guide catalogs all geometric shape characters with their code points, visual appearance, and copy-paste support.

·

Unicode dedicates an entire block to geometric shapes -- circles, squares, triangles, diamonds, and other polygons in filled, outlined, and variously styled forms. The Geometric Shapes block (U+25A0--U+25FF) contains 96 characters, supplemented by hundreds more in the Geometric Shapes Extended block, Block Elements, and Miscellaneous Symbols. This guide catalogs the major geometric characters, explains their organization, and demonstrates practical uses in interfaces, data visualization, and text design.

The Geometric Shapes Block (U+25A0--U+25FF)

This primary block contains 96 characters covering the fundamental geometric forms:

Squares and Rectangles

Character Code Point Name
U+25A0 BLACK SQUARE
U+25A1 WHITE SQUARE
U+25AA BLACK SMALL SQUARE
U+25AB WHITE SMALL SQUARE
U+25AC BLACK RECTANGLE
U+25AD WHITE RECTANGLE
U+25AE BLACK VERTICAL RECTANGLE
U+25AF WHITE VERTICAL RECTANGLE
U+25FB WHITE MEDIUM SQUARE
U+25FC BLACK MEDIUM SQUARE
U+25FD WHITE MEDIUM SMALL SQUARE
U+25FE BLACK MEDIUM SMALL SQUARE

Unicode provides squares in multiple sizes -- large (■ □), medium (◻ ◼), medium-small (◽ ◾), and small (▪ ▫). The "black" variants are filled, "white" are outlined. This size progression enables multi-level bullet lists and visual hierarchies in plain text.

Circles

Character Code Point Name
U+25CF BLACK CIRCLE
U+25CB WHITE CIRCLE
U+25C9 FISHEYE
U+25CC DOTTED CIRCLE
U+25CD CIRCLE WITH VERTICAL FILL
U+25CE BULLSEYE
U+25D0 CIRCLE WITH LEFT HALF BLACK
U+25D1 CIRCLE WITH RIGHT HALF BLACK
U+25D2 CIRCLE WITH LOWER HALF BLACK
U+25D3 CIRCLE WITH UPPER HALF BLACK
U+25D4 CIRCLE WITH UPPER RIGHT QUADRANT BLACK
U+25D5 CIRCLE WITH ALL BUT UPPER LEFT QUADRANT BLACK

The half-filled and quarter-filled circles (◐ ◑ ◒ ◓ ◔ ◕) are particularly useful for representing partial progress, ratings, or pie-chart approximations in text-only contexts.

Triangles

Character Code Point Name
U+25B2 BLACK UP-POINTING TRIANGLE
U+25B3 WHITE UP-POINTING TRIANGLE
U+25B4 BLACK UP-POINTING SMALL TRIANGLE
U+25B5 WHITE UP-POINTING SMALL TRIANGLE
U+25B6 BLACK RIGHT-POINTING TRIANGLE
U+25B7 WHITE RIGHT-POINTING TRIANGLE
U+25B8 BLACK RIGHT-POINTING SMALL TRIANGLE
U+25B9 WHITE RIGHT-POINTING SMALL TRIANGLE
U+25BC BLACK DOWN-POINTING TRIANGLE
U+25BD WHITE DOWN-POINTING TRIANGLE
U+25BE BLACK DOWN-POINTING SMALL TRIANGLE
U+25BF WHITE DOWN-POINTING SMALL TRIANGLE
U+25C0 BLACK LEFT-POINTING TRIANGLE
U+25C1 WHITE LEFT-POINTING TRIANGLE
U+25C2 BLACK LEFT-POINTING SMALL TRIANGLE
U+25C3 WHITE LEFT-POINTING SMALL TRIANGLE

Triangles come in all four directions and two sizes. The right-pointing triangle ▶ is commonly used as a play button, while ▲ and ▼ serve as sort indicators in table headers.

Diamonds

Character Code Point Name
U+25C6 BLACK DIAMOND
U+25C7 WHITE DIAMOND
U+25C8 WHITE DIAMOND CONTAINING BLACK SMALL DIAMOND
U+25CA LOZENGE

The lozenge ◊ is technically a different shape (taller and narrower than a diamond) and is used in pharmaceutical notation and mathematical typesetting.

Stars and Pentagons

Character Code Point Name
U+2605 BLACK STAR
U+2606 WHITE STAR
U+2721 STAR OF DAVID
U+2B1F PENTAGON
U+2B20 WHITE PENTAGON
U+2B21 WHITE HEXAGON
U+2B22 BLACK HEXAGON

Note that ★ and ☆ are in the Miscellaneous Symbols block, not Geometric Shapes. They are included here because they are used alongside geometric shapes in practice.

Block Elements (U+2580--U+259F)

The Block Elements block provides 32 characters for building box-drawing graphics and terminal-based visualizations:

Horizontal Blocks (Fractional Heights)

Character Code Point Name
U+2580 UPPER HALF BLOCK
U+2581 LOWER ONE EIGHTH BLOCK
U+2582 LOWER ONE QUARTER BLOCK
U+2583 LOWER THREE EIGHTHS BLOCK
U+2584 LOWER HALF BLOCK
U+2585 LOWER FIVE EIGHTHS BLOCK
U+2586 LOWER THREE QUARTERS BLOCK
U+2587 LOWER SEVEN EIGHTHS BLOCK
U+2588 FULL BLOCK

These characters progress from one-eighth height (▁) to full height (█), creating an eight-step vertical bar chart in a single character column.

Shade Characters

Character Code Point Name
U+2591 LIGHT SHADE
U+2592 MEDIUM SHADE
U+2593 DARK SHADE
U+2588 FULL BLOCK

The shade characters are iconic in computing history -- they were essential in DOS-era text-mode user interfaces for creating shadows, gradients, and visual depth effects.

Vertical and Quadrant Blocks

Character Code Point Name
U+258C LEFT HALF BLOCK
U+2590 RIGHT HALF BLOCK
U+2596 QUADRANT LOWER LEFT
U+2597 QUADRANT LOWER RIGHT
U+2598 QUADRANT UPPER LEFT
U+2599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT
U+259A QUADRANT UPPER LEFT AND LOWER RIGHT
U+259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT
U+259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT
U+259D QUADRANT UPPER RIGHT
U+259E QUADRANT UPPER RIGHT AND LOWER LEFT
U+259F QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT

The quadrant characters divide a cell into four quarters, enabling 2x2 pixel resolution per character -- useful for low-resolution graphics in terminals.

Practical Applications

Progress Bars

Block elements create compact text-based progress bars:

def progress_bar(percent, width=20):
    filled = int(width * percent / 100)
    bar = "\u2588" * filled + "\u2591" * (width - filled)
    return f"|{bar}| {percent}%"

print(progress_bar(75))
# |████████████████░░░░| 75%

Sparkline Charts

Block elements can approximate sparkline charts:

def sparkline(values):
    blocks = " \u2581\u2582\u2583\u2584\u2585\u2586\u2587\u2588"
    lo, hi = min(values), max(values)
    if lo == hi:
        return "\u2584" * len(values)
    return "".join(
        blocks[int((v - lo) / (hi - lo) * 7) + 1]
        for v in values
    )

data = [4, 8, 15, 16, 23, 42, 30, 12, 5, 1]
print(sparkline(data))
# ▁▂▃▃▄█▅▂▁▁

Rating Stars

def star_rating(score, max_score=5):
    full = int(score)
    half = 1 if score - full >= 0.5 else 0
    empty = max_score - full - half
    return "\u2605" * full + ("\u00BD" if half else "") + "\u2606" * empty

print(star_rating(3.5))
# ★★★½☆

CSS: Geometric Bullets

ul.diamond-list {
    list-style: none;
}
ul.diamond-list li::before {
    content: "\25C6 ";
    color: #2563eb;
}

ul.circle-list li::before {
    content: "\25CF ";
    color: #059669;
}

JavaScript: Sort Direction Indicators

function sortIcon(direction) {
    if (direction === 'asc') return '\u25B2';   // ▲
    if (direction === 'desc') return '\u25BC';   // ▼
    return '\u25C6';                             // ◆ (unsorted)
}

// Table header rendering
headers.forEach(h => {
    h.textContent = `${h.dataset.label} ${sortIcon(h.dataset.sort)}`;
});

Geometric Shapes Extended (U+1F780--U+1F7FF)

Unicode 7.0 added an extended block with additional geometric shapes:

Character Code Point Name
🟠 U+1F7E0 LARGE ORANGE CIRCLE
🟡 U+1F7E1 LARGE YELLOW CIRCLE
🟢 U+1F7E2 LARGE GREEN CIRCLE
🟣 U+1F7E3 LARGE PURPLE CIRCLE
🟤 U+1F7E4 LARGE BROWN CIRCLE
🟥 U+1F7E5 LARGE RED SQUARE
🟦 U+1F7E6 LARGE BLUE SQUARE
🟧 U+1F7E7 LARGE ORANGE SQUARE
🟨 U+1F7E8 LARGE YELLOW SQUARE
🟩 U+1F7E9 LARGE GREEN SQUARE
🟪 U+1F7EA LARGE PURPLE SQUARE
🟫 U+1F7EB LARGE BROWN SQUARE

These colored shapes render as emoji and provide a way to convey color information in text -- useful for game boards, status indicators, and category labels.

Font Support

Geometric shapes have excellent cross-platform support because they have been in Unicode since early versions:

Shape Group Block Support Level
Squares, circles, triangles Geometric Shapes (U+25A0) Excellent
Block elements Block Elements (U+2580) Excellent
Stars Misc. Symbols Excellent
Colored shapes Geometric Shapes Extended Good (emoji)
Extended geometric Geometric Shapes Extended Moderate

For terminal and CLI applications, the block elements and basic geometric shapes are among the most reliably rendered characters across operating systems and terminal emulators, making them ideal for text-based user interfaces and data visualization.

Geometric shapes are workhorses of Unicode -- they appear in every rating widget, progress bar, sort indicator, and text-based chart on the modern web. The 96 characters in the primary Geometric Shapes block, combined with the 32 Block Elements and their extended counterparts, give developers a rich vocabulary for visual communication using nothing but plain text.

المزيد في Symbol Reference

Complete Arrow Symbols List

Unicode contains hundreds of arrow symbols spanning simple directional arrows, double arrows, …

All Check Mark and Tick Symbols

Unicode provides multiple check mark and tick symbols ranging from the classic …

Star and Asterisk Symbols

Unicode includes a rich collection of star shapes — from the simple …

Heart Symbols Complete Guide

Unicode contains dozens of heart symbols including the classic ♥, black and …

Currency Symbols Around the World

Unicode's Currency Symbols block and surrounding areas contain dedicated characters for over …

Mathematical Symbols and Operators

Unicode has dedicated blocks for mathematical operators, arrows, letterlike symbols, and alphanumeric …

Bracket and Parenthesis Symbols

Beyond the ASCII parentheses and square brackets, Unicode includes angle brackets, curly …

Bullet Point Symbols

Unicode offers a wide variety of bullet point characters beyond the standard …

Line and Box Drawing Characters

Unicode's Box Drawing block contains 128 characters for drawing lines, corners, intersections, …

Musical Note Symbols

Unicode includes musical note symbols such as ♩♪♫♬ in the Miscellaneous Symbols …

Fraction Symbols Guide

Unicode includes precomposed fraction characters for common fractions like ½ ¼ ¾ …

Superscript and Subscript Characters

Unicode provides precomposed superscript and subscript digits and letters — such as …

Circle Symbols

Unicode contains dozens of circle symbols including filled circles, outlined circles, circles …

Square and Rectangle Symbols

Unicode includes filled squares, outlined squares, small squares, medium squares, dashed squares, …

Triangle Symbols

Unicode provides a comprehensive set of triangle symbols in all orientations — …

Diamond Symbols

Unicode includes filled and outline diamond shapes, lozenge characters, and playing card …

Cross and X Mark Symbols

Unicode provides various cross and X mark characters including the heavy ballot …

Dash and Hyphen Symbols Guide

The hyphen-minus on your keyboard is just one of Unicode's many dash …

Quotation Mark Symbols Complete Guide

Unicode defines typographic quotation marks — curly quotes — for dozens of …

Copyright, Trademark & Legal Symbols

Unicode includes dedicated characters for the copyright symbol ©, registered trademark ®, …

Degree and Temperature Symbols

The degree symbol ° (U+00B0) and dedicated Celsius ℃ and Fahrenheit ℉ …

Circled and Enclosed Number Symbols

Unicode's Enclosed Alphanumerics block provides circled numbers ①②③, parenthesized numbers ⑴⑵⑶, and …

Roman Numeral Symbols

Unicode includes a Number Forms block with precomposed Roman numeral characters such …

Greek Alphabet Symbols for Math and Science

Greek letters like α β γ δ π Σ Ω are widely …

Decorative Dingbats

The Unicode Dingbats block (U+2700–U+27BF) contains 192 decorative symbols originally from the …

Playing Card Symbols

Unicode includes a Playing Cards block with characters for all 52 standard …

Chess Piece Symbols

Unicode provides characters for all six chess piece types in both white …

Zodiac and Astrological Symbols

Unicode's Miscellaneous Symbols block includes the 12 zodiac signs ♈♉♊♋♌♍♎♏♐♑♒♓, planetary symbols, …

Braille Pattern Characters

Unicode's Braille Patterns block (U+2800–U+28FF) encodes all 256 possible combinations of the …

Letterlike Symbols

The Unicode Letterlike Symbols block contains mathematical and technical symbols derived from …

Technical Symbols Guide

Unicode's Miscellaneous Technical block contains symbols from computing, electronics, and engineering, including …

Combining Characters and Diacritics Guide

Diacritics are accent marks and other marks that attach to letters to …

Whitespace and Invisible Characters Guide

Unicode defines dozens of invisible characters beyond the ordinary space, including zero-width …

Warning and Hazard Signs

Unicode includes warning and hazard symbols such as the universal caution ⚠ …

Weather Symbols Guide

Unicode's Miscellaneous Symbols block includes sun ☀, cloud ☁, rain ☂, snow …

Religious Symbols in Unicode

Unicode includes symbols for many of the world's major religions including the …

Gender and Identity Symbols

Unicode includes the traditional male ♂ and female ♀ symbols from astronomy, …

Keyboard Shortcut Symbols Guide

Apple's macOS uses Unicode characters for keyboard modifier keys such as ⌘ …

Symbols for Social Media Bios

Unicode symbols like ▶ ◀ ► ★ ✦ ⚡ ✈ and hundreds …