Bracket and Parenthesis Symbols
Beyond the ASCII parentheses and square brackets, Unicode includes angle brackets, curly brackets, fullwidth brackets, double brackets, and dozens of ornamental bracket styles. This guide lists every Unicode bracket and parenthesis character with code points and copy-paste support.
Brackets and parentheses are among the most fundamental punctuation marks in human writing, yet most people only know the handful available on a standard keyboard. Unicode assigns well over a hundred distinct bracket characters spanning mathematical notation, CJK typesetting, ornamental publishing, and specialized technical domains. This guide catalogs every major bracket and parenthesis character in Unicode, explains how they are classified, and provides code points and practical usage notes for developers, designers, and writers.
Why So Many Brackets?
The ASCII character set offers exactly six bracket characters: ( ), [ ], and { }.
These suffice for English prose and basic programming, but the world's writing systems
and technical notations demand far more variety. Chinese and Japanese typesetting use
fullwidth and corner brackets. Mathematics requires angle brackets, ceiling and floor
brackets, and double brackets. Medieval manuscripts used ornamental brackets for
marginalia. Unicode encodes all of these as distinct characters with precise semantics.
Understanding which bracket to use matters for correctness. A mathematical inner product
written with less-than and greater-than signs (<x, y>) is semantically wrong — the
correct characters are mathematical angle brackets (⟨x, y⟩). Search engines, screen
readers, and parsers can all distinguish between these, so choosing the right bracket
improves accessibility, searchability, and interoperability.
ASCII Brackets
The six ASCII brackets remain the most widely used:
| Character | Code Point | Name | Usage |
|---|---|---|---|
| ( | U+0028 | LEFT PARENTHESIS | Grouping in prose and math |
| ) | U+0029 | RIGHT PARENTHESIS | Closing parenthesis |
| [ | U+005B | LEFT SQUARE BRACKET | Arrays, optional items, citations |
| ] | U+005D | RIGHT SQUARE BRACKET | Closing square bracket |
| { | U+007B | LEFT CURLY BRACKET | Sets, code blocks, interpolation |
| } | U+007D | RIGHT CURLY BRACKET | Closing curly bracket |
These six code points are universally supported across every font, terminal, and programming language. They are the foundation upon which all other bracket characters build.
Mathematical Brackets
Mathematics uses specialized brackets that should not be confused with ASCII look-alikes:
| Character | Code Point | Name | Usage |
|---|---|---|---|
| ⟨ | U+27E8 | MATHEMATICAL LEFT ANGLE BRACKET | Inner products, bra-ket notation |
| ⟩ | U+27E9 | MATHEMATICAL RIGHT ANGLE BRACKET | Closing angle bracket |
| ⟪ | U+27EA | MATHEMATICAL LEFT DOUBLE ANGLE BRACKET | Double angle bracket |
| ⟫ | U+27EB | MATHEMATICAL RIGHT DOUBLE ANGLE BRACKET | Closing double angle |
| ⌈ | U+2308 | LEFT CEILING | Ceiling function |
| ⌉ | U+2309 | RIGHT CEILING | Closing ceiling |
| ⌊ | U+230A | LEFT FLOOR | Floor function |
| ⌋ | U+230B | RIGHT FLOOR | Closing floor |
| ⟦ | U+27E6 | MATHEMATICAL LEFT WHITE SQUARE BRACKET | Semantic brackets, denotational semantics |
| ⟧ | U+27E7 | MATHEMATICAL RIGHT WHITE SQUARE BRACKET | Closing white square bracket |
| ⟮ | U+27EE | MATHEMATICAL LEFT FLATTENED PARENTHESIS | Specialized grouping |
| ⟯ | U+27EF | MATHEMATICAL RIGHT FLATTENED PARENTHESIS | Closing flattened parenthesis |
A common mistake is using < (U+003C, LESS-THAN SIGN) and > (U+003E, GREATER-THAN
SIGN) as angle brackets. These are comparison operators, not brackets. In LaTeX, the
correct commands are \langle and \rangle, which produce U+27E8 and U+27E9.
In Python, you can verify the distinction:
import unicodedata
# These are comparison operators, NOT brackets
print(unicodedata.name(chr(0x003C))) # LESS-THAN SIGN
print(unicodedata.name(chr(0x003E))) # GREATER-THAN SIGN
# These are the correct mathematical angle brackets
print(unicodedata.name(chr(0x27E8))) # MATHEMATICAL LEFT ANGLE BRACKET
print(unicodedata.name(chr(0x27E9))) # MATHEMATICAL RIGHT ANGLE BRACKET
CJK Brackets
Chinese, Japanese, and Korean typesetting uses a rich set of brackets not found in Western writing. Many of these are fullwidth (occupying the same width as a CJK ideograph) to maintain grid alignment:
| Character | Code Point | Name | Usage |
|---|---|---|---|
| ( | U+FF08 | FULLWIDTH LEFT PARENTHESIS | CJK text parenthetical |
| ) | U+FF09 | FULLWIDTH RIGHT PARENTHESIS | Closing fullwidth parenthesis |
| [ | U+FF3B | FULLWIDTH LEFT SQUARE BRACKET | CJK square brackets |
| ] | U+FF3D | FULLWIDTH RIGHT SQUARE BRACKET | Closing fullwidth square |
| { | U+FF5B | FULLWIDTH LEFT CURLY BRACKET | CJK curly brackets |
| } | U+FF5D | FULLWIDTH RIGHT CURLY BRACKET | Closing fullwidth curly |
| 「 | U+300C | LEFT CORNER BRACKET | Japanese quotation mark |
| 」 | U+300D | RIGHT CORNER BRACKET | Closing corner bracket |
| 『 | U+300E | LEFT WHITE CORNER BRACKET | Japanese book/title quotes |
| 』 | U+300F | RIGHT WHITE CORNER BRACKET | Closing white corner |
| 【 | U+3010 | LEFT BLACK LENTICULAR BRACKET | Emphasis, headings |
| 】 | U+3011 | RIGHT BLACK LENTICULAR BRACKET | Closing lenticular |
| 〔 | U+3014 | LEFT TORTOISE SHELL BRACKET | Annotations, notes |
| 〕 | U+3015 | RIGHT TORTOISE SHELL BRACKET | Closing tortoise shell |
| 〈 | U+3008 | LEFT ANGLE BRACKET (CJK) | CJK angle bracket |
| 〉 | U+3009 | RIGHT ANGLE BRACKET (CJK) | Closing CJK angle |
| 《 | U+300A | LEFT DOUBLE ANGLE BRACKET | Book titles (Chinese) |
| 》 | U+300B | RIGHT DOUBLE ANGLE BRACKET | Closing double angle |
Japanese uses corner brackets 「」 as primary quotation marks (equivalent to English double quotes) and white corner brackets 『』 for nested quotations or book titles. Chinese uses double angle brackets 《》 for book and film titles. These are not interchangeable with Western angle brackets or guillemets.
Ornamental and Typographic Brackets
Publishing and decorative typography use additional bracket styles:
| Character | Code Point | Name | Usage |
|---|---|---|---|
| ❨ | U+2768 | MEDIUM LEFT PARENTHESIS ORNAMENT | Decorative grouping |
| ❩ | U+2769 | MEDIUM RIGHT PARENTHESIS ORNAMENT | Closing ornament |
| ❪ | U+276A | MEDIUM FLATTENED LEFT PARENTHESIS ORNAMENT | Flattened decorative |
| ❫ | U+276B | MEDIUM FLATTENED RIGHT PARENTHESIS ORNAMENT | Closing flattened |
| ❬ | U+276C | MEDIUM LEFT-POINTING ANGLE BRACKET ORNAMENT | Decorative angle |
| ❭ | U+276D | MEDIUM RIGHT-POINTING ANGLE BRACKET ORNAMENT | Closing angle ornament |
| ❴ | U+2774 | MEDIUM LEFT CURLY BRACKET ORNAMENT | Decorative curly |
| ❵ | U+2775 | MEDIUM RIGHT CURLY BRACKET ORNAMENT | Closing curly ornament |
| ⁅ | U+2045 | LEFT SQUARE BRACKET WITH QUILL | Scholarly annotations |
| ⁆ | U+2046 | RIGHT SQUARE BRACKET WITH QUILL | Closing quill bracket |
These ornamental brackets appear primarily in typeset documents, invitations, and decorative contexts. Font support varies, so always test rendering before using them in production.
The Bidi Mirroring Property
Unicode brackets have a special property called Bidi_Mirrored. In right-to-left text (Arabic, Hebrew), opening brackets appear on the right and closing brackets on the left. The rendering engine automatically mirrors bracket glyphs in RTL context.
You can check this property programmatically:
import unicodedata
# Check if a character is bidi-mirrored
print(unicodedata.mirrored(chr(0x0028))) # 1 (True) - LEFT PARENTHESIS
print(unicodedata.mirrored(chr(0x0041))) # 0 (False) - LATIN CAPITAL LETTER A
This means that (hello) in an RTL paragraph renders with the parentheses visually
flipped — the ( appears on the right side and ) on the left, matching the reading
direction.
Bracket Categories in Unicode
Unicode classifies bracket characters using the General Category property:
| Category | Code | Examples |
|---|---|---|
| Open Punctuation | Ps | (, [, {, ⟨, 「 |
| Close Punctuation | Pe | ), ], }, ⟩, 」 |
| Initial Punctuation | Pi | «, ', " |
| Final Punctuation | Pf | », ', " |
The Ps/Pe distinction is critical for text processing algorithms. Unicode's bidirectional algorithm, line breaking algorithm, and bracket-matching utilities all rely on these categories to pair brackets correctly.
Using Brackets in HTML
In HTML, brackets can be entered directly as Unicode characters or via named/numeric entities:
| Character | HTML Entity | Numeric Entity | Description |
|---|---|---|---|
| ( | — | ( |
Left parenthesis |
| ) | — | ) |
Right parenthesis |
| [ | — | [ |
Left square bracket |
| ] | — | ] |
Right square bracket |
| { | — | { |
Left curly bracket |
| } | — | } |
Right curly bracket |
| ⟨ | ⟨ |
⟨ |
Math left angle bracket |
| ⟩ | ⟩ |
⟩ |
Math right angle bracket |
| ⌈ | ⌈ |
⌈ |
Left ceiling |
| ⌉ | ⌉ |
⌉ |
Right ceiling |
| ⌊ | ⌊ |
⌊ |
Left floor |
| ⌋ | ⌋ |
⌋ |
Right floor |
Common Mistakes
-
Using
<>as angle brackets. The less-than and greater-than signs are comparison operators. Use U+27E8/U+27E9 for mathematical angle brackets or U+3008/U+3009 for CJK angle brackets. -
Mixing fullwidth and halfwidth brackets. In CJK text, using halfwidth
()next to fullwidth characters creates uneven spacing. Use fullwidth()for consistent grid alignment. -
Ignoring RTL mirroring. Hardcoding bracket direction (e.g., manually placing
)on the left in Arabic text) breaks the bidirectional algorithm. Let the renderer handle mirroring automatically. -
Confusing guillemets with angle brackets. The characters
«»(U+00AB/U+00BB) are quotation marks used in French, Russian, and other languages. They are not brackets.
Summary
Unicode provides a comprehensive taxonomy of brackets covering ASCII, mathematics, CJK typesetting, and ornamental design. Choosing the semantically correct bracket character improves text processing, accessibility, and visual quality. Developers working with multilingual text should be especially aware of the bidi mirroring property and the distinction between visually similar but semantically different bracket characters.
Thêm trong Symbol Reference
Unicode contains hundreds of arrow symbols spanning simple directional arrows, double arrows, …
Unicode provides multiple check mark and tick symbols ranging from the classic …
Unicode includes a rich collection of star shapes — from the simple …
Unicode contains dozens of heart symbols including the classic ♥, black and …
Unicode's Currency Symbols block and surrounding areas contain dedicated characters for over …
Unicode has dedicated blocks for mathematical operators, arrows, letterlike symbols, and alphanumeric …
Unicode offers a wide variety of bullet point characters beyond the standard …
Unicode's Box Drawing block contains 128 characters for drawing lines, corners, intersections, …
Unicode includes musical note symbols such as ♩♪♫♬ in the Miscellaneous Symbols …
Unicode includes precomposed fraction characters for common fractions like ½ ¼ ¾ …
Unicode provides precomposed superscript and subscript digits and letters — such as …
Unicode contains dozens of circle symbols including filled circles, outlined circles, circles …
Unicode includes filled squares, outlined squares, small squares, medium squares, dashed squares, …
Unicode provides a comprehensive set of triangle symbols in all orientations — …
Unicode includes filled and outline diamond shapes, lozenge characters, and playing card …
Unicode provides various cross and X mark characters including the heavy ballot …
The hyphen-minus on your keyboard is just one of Unicode's many dash …
Unicode defines typographic quotation marks — curly quotes — for dozens of …
Unicode includes dedicated characters for the copyright symbol ©, registered trademark ®, …
The degree symbol ° (U+00B0) and dedicated Celsius ℃ and Fahrenheit ℉ …
Unicode's Enclosed Alphanumerics block provides circled numbers ①②③, parenthesized numbers ⑴⑵⑶, and …
Unicode includes a Number Forms block with precomposed Roman numeral characters such …
Greek letters like α β γ δ π Σ Ω are widely …
The Unicode Dingbats block (U+2700–U+27BF) contains 192 decorative symbols originally from the …
Unicode includes a Playing Cards block with characters for all 52 standard …
Unicode provides characters for all six chess piece types in both white …
Unicode's Miscellaneous Symbols block includes the 12 zodiac signs ♈♉♊♋♌♍♎♏♐♑♒♓, planetary symbols, …
Unicode's Braille Patterns block (U+2800–U+28FF) encodes all 256 possible combinations of the …
Unicode's Geometric Shapes block contains 96 characters covering circles, squares, triangles, diamonds, …
The Unicode Letterlike Symbols block contains mathematical and technical symbols derived from …
Unicode's Miscellaneous Technical block contains symbols from computing, electronics, and engineering, including …
Diacritics are accent marks and other marks that attach to letters to …
Unicode defines dozens of invisible characters beyond the ordinary space, including zero-width …
Unicode includes warning and hazard symbols such as the universal caution ⚠ …
Unicode's Miscellaneous Symbols block includes sun ☀, cloud ☁, rain ☂, snow …
Unicode includes symbols for many of the world's major religions including the …
Unicode includes the traditional male ♂ and female ♀ symbols from astronomy, …
Apple's macOS uses Unicode characters for keyboard modifier keys such as ⌘ …
Unicode symbols like ▶ ◀ ► ★ ✦ ⚡ ✈ and hundreds …