A small caps generator that claims to convert your text oversells what Unicode can do.
The Unicode standard simply lacks glyphs for several letters in several styles. We
audited every map in our own small caps generator, and this article reports the exact
coverage, including the one letter that gets a lookalike stand-in and the letters that
come out exactly as you typed them.
How the tool is built
The small caps generator exposes six styles: small caps, superscript, subscript,
circled, squared, and fullwidth. Input is capped at 300 characters by the textarea, and
the counter next to the field shows your current length against that cap. Each style
walks the text code point by code point and either looks the character up in a literal
map or computes it from an offset. Characters missing from a map pass through
untouched.
Small caps, superscript, and subscript share one structural behavior: uppercase and
lowercase inputs map to the same output. A and a both become ᴀ. Case information is
destroyed by design, because these Unicode sets carry no case distinction of their own.
Small caps: 24 real glyphs, one stand-in, one gap
The small caps alphabet is not a contiguous block. It borrows small capital letters
from phonetic extension ranges, which is why ꜰ and ꜱ sit far from ᴀ and ᴢ. Of the 26
letters, 24 have genuine small capital glyphs. Two do not:
- q maps to ǫ, the letter o with ogonek. It approximates the shape of a small capital Q
but it is a different letter with real use in other orthographies.
- x maps to itself. No small capital X exists in the ranges the tool uses, so x comes
out as a plain lowercase x sitting at lowercase height.
Type a word containing both, such as exquisite, and the output shows the seams. The x
drops visibly below the small caps height of its neighbors.
Superscript and subscript coverage
Superscript covers 25 of 26 letters. The letter q has no superscript form in the map and
passes through unchanged. Digits fare better, and all ten have superscript forms ⁰
through ⁹. Six uppercase letters have no dedicated superscript capital, so the tool maps
them to the same modifier glyphs as their lowercase partners: C, F, S, X, Y, and Z come
out at lowercase size even when you typed capitals.
Subscript is the weakest style. Only 17 letters have subscript glyphs:
a ₐ, e ₑ, h ₕ, i ᵢ, j ⱼ, k ₖ, l ₗ, m ₘ, n ₙ, o ₒ, p ₚ, r ᵣ, s ₛ, t ₜ, u ᵤ, v ᵥ, x ₓ
Nine letters pass through unchanged: b, c, d, f, g, q, w, y, and z. Digits are fully
covered, ₀ through ₉. A subscripted word like background comes out with a, k, r, o, u,
and n converted while b, c, g, and d stay plain, so the word reads in two styles at once.
Circled, squared, and fullwidth
Circled is the only letter style with complete coverage, because it draws on genuine
contiguous blocks. Uppercase letters compute from U+24B6, lowercase from U+24D0, digits
1 through 9 from U+2460, and zero maps to ⓪. Every ASCII letter and digit gets a real
circled form.
Squared uses the negative squared letters at U+1F170 through U+1F189, the same code
points that appear in regional indicator contexts. Coverage is uppercase only, with
lowercase inputs mapping to the same squared capitals. Digits have no squared forms in
the map. These are astral-plane characters, so each one takes two UTF-16 code units and
character counters that count code units will overreport their length.
Fullwidth is arithmetic rather than a lookup. Every printable ASCII character from code
33 to code 126 shifts to U+FF01 plus the code minus 33, which remaps 94 characters.
The space maps to U+3000, the ideographic space. Fullwidth is the only style here that
converts your punctuation and digits, and like the others it leaves non-ASCII letters
such as ş, é, and ß untouched.
Where the output lies to the reader
Three failure modes are built into this kind of conversion. First, the stand-ins and
gaps mean converted text can contain characters you never typed, including ǫ in place
of q, and a reader who knows Polish or Lithuanian orthographies will read that as a
modified o. Second, the output no longer matches plain text in search, copy-back
comparisons, or hashtag matching, because every converted letter is a different code
point. Third, screen readers handle phonetic extension and superscript characters
unpredictably, and some announce nothing for them.
One more quirk comes from the tool itself: when the input box is empty, the style cards
fall back to the default phrase Small Caps Generator as their sample text, so the
previews you see before typing are that phrase rather than your text.
Checklist before you use small caps text
- Your text contains no q or x if you need every letter styled in small caps.
- Your text avoids b, c, d, f, g, q, w, y, and z if you need full subscript coverage.
- You accept that uppercase and lowercase inputs produce identical output.
- You stay at or under the 300 character input cap.
- You do not need the output to match plain text anywhere.
- You use circled or fullwidth when you need digits styled too.
Coverage is fixed by the standard, so workarounds mean choosing a different style, not a
different generator.
Test the gaps with your own text. Open the
[small caps generator](https://webrecast.com/en/small-caps-generator), paste a sentence
with a q, an x, and a subscript-only word, and check which letters survived. If you find
a letter this coverage table misstates, send it, because every count above comes from
the maps in the shipping code.