Superscript and Subscript Letters: The Full Unicode List

Every superscript and subscript letter and digit in Unicode, which blocks they live in, and the exact letters that do not exist in either alphabet.

Character blocks6 min read
Superscript and subscript letters and digits shown in rows

Superscript and subscript in real typography are positioning: the same letter, raised or lowered and scaled down by the renderer. <sup> in HTML, font-variant-position in CSS.

In Unicode they are separate characters, and the sets are incomplete. Neither alphabet has all 26 letters, and the subscript one has barely half. Everything on this page follows from that.

Superscript digits

Complete, all ten, and the most reliably supported characters here.

DigitSuperscriptCode point
0⁰U+2070
1¹U+00B9
2²U+00B2
3³U+00B3
4⁴U+2074
5⁵U+2075
6⁶U+2076
7⁷U+2077
8⁸U+2078
9⁹U+2079

Note the oddity: 1, 2 and 3 are in Latin-1 Supplement, not with the others. They came from ISO 8859-1, which had them for ordinals and units — m², m³ — and Unicode inherited them at their old positions. The rest are in Superscripts and Subscripts at U+2070–U+209F.

Also there: superscript ⁺ ⁻ ⁼ ⁽ ⁾ ⁿ, which is enough to write a simple exponent in plain text.

Superscript letters

CaseAvailable
Capitalsᴬ ᴮ ᶜ ᴰ ᴱ ᶠ ᴳ ᴴ ᴵ ᴶ ᴷ ᴸ ᴹ ᴺ ᴼ ᴾ ᴿ ᵀ ᵁ ⱽ ᵂ
Missing capitalsQ, S, X, Y, Z
Lowercaseᵃ ᵇ ᶜ ᵈ ᵉ ᶠ ᵍ ʰ ⁱ ʲ ᵏ ˡ ᵐ ⁿ ᵒ ᵖ ʳ ˢ ᵗ ᵘ ᵛ ʷ ˣ ʸ ᶻ
Missing lowercaseq

So a superscript conversion of “Squeeze” comes back as Sqᵘᵉᵉᶻᵉ — the capital S and the q survive unchanged, because there is nothing to convert them to.

The characters are spread over three blocks. Lowercase letters are mostly in Spacing Modifier Letters, U+02B0–U+02FF, where they were encoded as phonetic modifiers — ʰ marks aspiration, ʷ labialisation. Capitals and the remaining lowercase are in Phonetic Extensions at U+1D2C onwards, added for Uralic transcription. A few strays sit elsewhere, such as ⱽ at U+2C7D in Latin Extended-D.

Again: nobody encoded a superscript alphabet. These are phonetic symbols that happen to be raised, and the gaps are the letters no transcription system needed.

Subscript letters and digits

The digits are complete. The letters are not close.

DigitSubscriptCode point
0–9₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉U+2080–U+2089

Plus ₊ ₋ ₌ ₍ ₎ for simple formulae.

CaseAvailable
Capitalsnone at all
Lowercaseₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ
Missing lowercaseb, c, d, f, g, q, w, y, z

Seventeen letters out of twenty-six, and no capitals whatsoever. Converting “Discord” to subscript gives Dᵢₛcₒᵣd — four letters converted, three untouched, one capital untouched.

Why so few? The subscript letters were encoded for chemical and mathematical notation, where subscripts are mostly digits and a small set of index variables — i, j, k, n, x. Nobody needed a subscript q, so there is not one.

What this means for a generator

Any tool offering “tiny text” or “small text” is working with these sets, and there are only three honest options for a missing letter:

  1. Leave it unchanged. Sqᵘᵉᵉᶻᵉ. Honest, visibly inconsistent. This is what our small text generator does.
  2. Substitute a lookalike from another block. Fills the hole, produces characters of the wrong size and wrong weight, and often worse font support.
  3. Fall back to small capitals for the missing letters, mixing two alphabets.

There is no fourth option where all 26 letters exist, because they do not exist. A generator claiming a complete superscript alphabet is doing option 2 without telling you.

What they are actually for

Ordinals, units and footnote markers

Ordinals and units. 1ˢᵗ, m², km³, 20°C — in plain-text contexts where no markup is available.

Chemistry and maths in plain text. H₂O, CO₂, xᵢ, aⁿ. Imperfect but readable, and far better than H2O in a field that cannot do markup.

Footnote markers. See the note¹ works in a bio, a caption or a plain-text email.

Superscript letters to copy and paste, for a bio

Decoration. Small text in a username or bio, which is what most people arrive looking for.

Font support and accessibility

Digits are safe. The superscript and subscript digits are old, widely covered, and render essentially everywhere.

Letters are patchier. The Phonetic Extensions characters are less commonly covered than the Latin-1 ones, and some fonts substitute from a fallback face, so a superscript word can come out with letters at visibly different weights even when they all render.

Screen readers and normalisation

Screen readers are inconsistent. Some map these back to letters, some read the phonetic names. As with small caps, it is not reliable enough to depend on.

Most have compatibility decompositions. ² decomposes to 2, ᵃ to a. So NFKC folds superscript and subscript text back to plain — H₂O becomes H2O, which is usually what a search index wants and occasionally a surprise.

Use the real thing where you can

If you control the markup, use it:

E = mc<sup>2</sup>
H<sub>2</sub>O

The result is correctly positioned and scaled by the font, works for every letter including the missing ones, reads correctly in a screen reader, and is searchable. Unicode superscripts are for plain-text fields where no markup exists — a bio, a username, a chat message.

Quick answers

Is there a superscript Q?
No capital Q and no lowercase q. Neither exists in Unicode.

Are there subscript capital letters?
None at all.

Why do some letters stay full size?
Because Unicode has no superscript or subscript form of them. Nothing can be converted to a character that does not exist.

Why are ¹ ² ³ in a different block?
They came from ISO 8859-1 and Unicode kept them at their inherited positions.

Do they survive normalisation?
No. NFKC converts them back to plain characters.