Superscript and Subscript Characters
Unicode provides precomposed superscript and subscript digits and letters — such as ¹ ² ³ and ₁ ₂ ₃ — that display as raised or lowered characters without needing HTML sup or sub tags. This guide lists all Unicode superscript and subscript characters with copy-paste support and notes on font compatibility.
Superscript and subscript characters are raised or lowered glyphs used extensively
in mathematics, chemistry, phonetics, and general typography. Unicode provides a
set of precomposed superscript and subscript characters that render as raised or
lowered text without requiring any markup — no HTML <sup> or <sub> tags, no
LaTeX commands, just plain text characters. This guide catalogs every Unicode
superscript and subscript character, explains their limitations, and provides
practical guidance for scientific writing, programming, and web development.
Why Precomposed Superscripts and Subscripts Exist
In digital text, there are three ways to render superscript or subscript text:
| Method | Example | Requires |
|---|---|---|
| Markup (HTML) | x<sup>2</sup> |
HTML renderer |
| Font features | OpenType sups/subs |
OpenType-capable renderer |
| Unicode characters | x² |
Nothing — plain text |
The Unicode approach is uniquely portable. A superscript ² is a single code point
(U+00B2) that renders as a raised "2" in any context — terminal, plain text file,
SMS, email subject line, filename, or database field. No markup engine is needed.
This portability comes at a cost: Unicode only provides superscript and subscript forms for a limited set of characters (primarily digits and a few letters). For arbitrary text, markup or font features are still necessary.
Superscript Characters
Superscript Digits
| Character | Code Point | Name | Source Block |
|---|---|---|---|
| ⁰ | U+2070 | SUPERSCRIPT ZERO | Superscripts and Subscripts |
| ¹ | U+00B9 | SUPERSCRIPT ONE | Latin-1 Supplement |
| ² | U+00B2 | SUPERSCRIPT TWO | Latin-1 Supplement |
| ³ | U+00B3 | SUPERSCRIPT THREE | Latin-1 Supplement |
| ⁴ | U+2074 | SUPERSCRIPT FOUR | Superscripts and Subscripts |
| ⁵ | U+2075 | SUPERSCRIPT FIVE | Superscripts and Subscripts |
| ⁶ | U+2076 | SUPERSCRIPT SIX | Superscripts and Subscripts |
| ⁷ | U+2077 | SUPERSCRIPT SEVEN | Superscripts and Subscripts |
| ⁸ | U+2078 | SUPERSCRIPT EIGHT | Superscripts and Subscripts |
| ⁹ | U+2079 | SUPERSCRIPT NINE | Superscripts and Subscripts |
Note that ¹, ², and ³ are in the Latin-1 Supplement block (inherited from ISO 8859-1), while the rest are in the Superscripts and Subscripts block. This historical quirk means ², ³, and ¹ have broader legacy support.
Superscript Letters and Signs
| Character | Code Point | Name |
|---|---|---|
| ⁱ | U+2071 | SUPERSCRIPT LATIN SMALL LETTER I |
| ⁿ | U+207F | SUPERSCRIPT LATIN SMALL LETTER N |
| ⁺ | U+207A | SUPERSCRIPT PLUS SIGN |
| ⁻ | U+207B | SUPERSCRIPT MINUS |
| ⁼ | U+207C | SUPERSCRIPT EQUALS SIGN |
| ⁽ | U+207D | SUPERSCRIPT LEFT PARENTHESIS |
| ⁾ | U+207E | SUPERSCRIPT RIGHT PARENTHESIS |
Modifier Letters as Superscripts
The Spacing Modifier Letters block (U+02B0-U+02FF) and Phonetic Extensions blocks contain additional superscript letter forms used primarily in phonetics and linguistics:
| Character | Code Point | Name | Usage |
|---|---|---|---|
| ʰ | U+02B0 | MODIFIER LETTER SMALL H | Aspiration in IPA |
| ʲ | U+02B2 | MODIFIER LETTER SMALL J | Palatalization |
| ʳ | U+02B3 | MODIFIER LETTER SMALL R | Rhoticity |
| ʷ | U+02B7 | MODIFIER LETTER SMALL W | Labialization |
| ˡ | U+02E1 | MODIFIER LETTER SMALL L | Lateral release |
| ˢ | U+02E2 | MODIFIER LETTER SMALL S | Sibilance |
| ˣ | U+02E3 | MODIFIER LETTER SMALL X | Voiceless velar fricative |
These are linguistically important but serve a different purpose than the general superscript characters.
Subscript Characters
Subscript Digits
| Character | Code Point | Name |
|---|---|---|
| ₀ | U+2080 | SUBSCRIPT ZERO |
| ₁ | U+2081 | SUBSCRIPT ONE |
| ₂ | U+2082 | SUBSCRIPT TWO |
| ₃ | U+2083 | SUBSCRIPT THREE |
| ₄ | U+2084 | SUBSCRIPT FOUR |
| ₅ | U+2085 | SUBSCRIPT FIVE |
| ₆ | U+2086 | SUBSCRIPT SIX |
| ₇ | U+2087 | SUBSCRIPT SEVEN |
| ₈ | U+2088 | SUBSCRIPT EIGHT |
| ₉ | U+2089 | SUBSCRIPT NINE |
Subscript Letters and Signs
| Character | Code Point | Name |
|---|---|---|
| ₐ | U+2090 | LATIN SUBSCRIPT SMALL LETTER A |
| ₑ | U+2091 | LATIN SUBSCRIPT SMALL LETTER E |
| ₒ | U+2092 | LATIN SUBSCRIPT SMALL LETTER O |
| ₓ | U+2093 | LATIN SUBSCRIPT SMALL LETTER X |
| ₔ | U+2094 | LATIN SUBSCRIPT SMALL LETTER SCHWA |
| ₕ | U+2095 | LATIN SUBSCRIPT SMALL LETTER H |
| ₖ | U+2096 | LATIN SUBSCRIPT SMALL LETTER K |
| ₗ | U+2097 | LATIN SUBSCRIPT SMALL LETTER L |
| ₘ | U+2098 | LATIN SUBSCRIPT SMALL LETTER M |
| ₙ | U+2099 | LATIN SUBSCRIPT SMALL LETTER N |
| ₚ | U+209A | LATIN SUBSCRIPT SMALL LETTER P |
| ₛ | U+209B | LATIN SUBSCRIPT SMALL LETTER S |
| ₜ | U+209C | LATIN SUBSCRIPT SMALL LETTER T |
| ₊ | U+208A | SUBSCRIPT PLUS SIGN |
| ₋ | U+208B | SUBSCRIPT MINUS |
| ₌ | U+208C | SUBSCRIPT EQUALS SIGN |
| ₍ | U+208D | SUBSCRIPT LEFT PARENTHESIS |
| ₎ | U+208E | SUBSCRIPT RIGHT PARENTHESIS |
Practical Applications
Mathematics: Exponents and Indices
The most common use of superscripts is mathematical exponents:
x² + y² = z² (Pythagorean theorem)
E = mc² (mass-energy equivalence)
aⁿ + bⁿ = cⁿ (Fermat's Last Theorem)
x⁰ = 1 (zero exponent rule)
2⁻¹ = ½ (negative exponent)
Chemistry: Chemical Formulas
Chemical formulas use subscripts for atom counts and superscripts for charges:
H₂O (water)
CO₂ (carbon dioxide)
C₆H₁₂O₆ (glucose)
Ca²⁺ (calcium ion, charge 2+)
SO₄²⁻ (sulfate ion, charge 2-)
Fe₂O₃ (iron(III) oxide)
Ordinal Indicators
Some languages use superscripts for ordinal numbers:
1ˢᵗ 2ⁿᵈ 3ʳᵈ 4ᵗʰ (English ordinals, informal)
Nᵒ (Numero sign, abbreviation)
Note: These informal "superscript ordinals" use modifier letters and are not standard Unicode practice. The feminine ordinal indicator (U+00AA, ª) and masculine ordinal indicator (U+00BA, º) are the proper characters for Romance language ordinals.
Building a Superscript/Subscript Converter in Python
Here is a utility that converts regular digits to their superscript or subscript equivalents:
SUPERSCRIPT_MAP = str.maketrans("0123456789+-=()", "⁰¹²³⁴⁵⁶⁷⁸⁹⁺⁻⁼⁽⁾")
SUBSCRIPT_MAP = str.maketrans("0123456789+-=()", "₀₁₂₃₄₅₆₇₈₉₊₋₌₍₎")
def to_superscript(text: str) -> str:
return text.translate(SUPERSCRIPT_MAP)
def to_subscript(text: str) -> str:
return text.translate(SUBSCRIPT_MAP)
# Usage
print(f"x{to_superscript('2')} + y{to_superscript('2')}") # x² + y²
print(f"H{to_subscript('2')}O") # H₂O
print(f"a{to_superscript('(n+1)')}") # a⁽ⁿ⁺¹⁾
Limitations
Unicode superscripts and subscripts have important limitations:
| Limitation | Details |
|---|---|
| Incomplete alphabet | Only a few letters have superscript/subscript forms (i, n for super; a, e, o, x, h, k, l, m, n, p, s, t for sub) |
| No uppercase | No superscript uppercase letters in standard Unicode |
| Inconsistent sizing | Different fonts render super/subscript glyphs at different sizes relative to base text |
| Not true text formatting | These are separate characters, not formatted versions of normal characters |
| Search issues | Searching for "H2O" will not find "H₂O" because the subscript 2 is a different code point |
| Copy-paste surprises | Pasting subscript text into a search box may yield unexpected results |
For full control over superscript and subscript rendering, HTML/CSS markup remains the most reliable approach:
<!-- HTML approach: works with any character -->
<p>x<sup>n+1</sup> + y<sub>max</sub></p>
<!-- Unicode approach: limited to available characters -->
<p>xⁿ⁺¹ + yₘₐₓ</p>
Accessibility
Screen readers handle Unicode superscripts and subscripts inconsistently. Some readers announce ² as "superscript two", others as "squared", and some simply say "two". For scientific content where correct reading is critical, consider using MathML or ARIA labels:
<span aria-label="x squared">x²</span>
<span aria-label="H 2 O">H₂O</span>
Summary
Unicode provides precomposed superscript and subscript characters for all ten digits (0-9), several Latin letters, and basic mathematical operators. These characters are invaluable for plain-text environments where markup is unavailable, making it possible to write chemical formulas, mathematical expressions, and footnote markers in any text context. However, the character set is incomplete — only a subset of the Latin alphabet has super/subscript forms — so HTML/CSS markup or MathML remains necessary for arbitrary superscript and subscript content.
Mehr in 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 …
Beyond the ASCII parentheses and square brackets, Unicode includes angle brackets, curly …
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 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 …