Tiny Text Generator

Superscript, subscript and small capitals render smaller than surrounding text without changing the font size, which is why they work in fields you cannot style.

How the letters shrink without a font size

Nothing on this page changes a font size. Each tiny character is a separate Unicode code point whose glyph the type designer drew small, and in the superscript case raised above the baseline. Type tiny and you get ᵗⁱⁿʸ, four characters at U+1D57, U+2071, U+207F and U+02B8, not the letters t, i, n and y with formatting attached. That distinction is the whole point of the tiny text generator. A bio field, a username box, a Discord channel description and a stream title all strip formatting, because formatting is metadata the field never stores. None of them can strip a character, because the character is the content. Most superscript forms carry the Unicode general category modifier letter, a class built for phonetic marks that sit beside other letters, while small capitals such as ᴀ are ordinary lowercase letters drawn at capital shape and x-height. Size is therefore not adjustable: the font decides, and in most system fonts a superscript letter sits at roughly two-thirds the height of the text around it.

Encoded for equations and phonetics

None of these characters were made for decoration, which explains every gap in them. The superscript digits ¹, ² and ³ arrived first, inherited from Latin-1 and from typewriters that needed squared and cubed; ⁰ and ⁴ to ⁹ came later in Superscripts and Subscripts at U+2070 to U+209F, alongside ⁿ for exponent notation. The subscript digits ₀ to ₉ exist for chemistry and for indices, which is why H₂O renders correctly in a plain text field. The subscript letters were added in two passes: a, e, o and x for phonetic transcription, then h, k, l, m, n, p, s and t in Unicode 6.0 to support the Uralic Phonetic Alphabet. Small capitals come from Phonetic Extensions at U+1D00 to U+1D7F, added in 2003 so linguists could write IPA symbols like ɢ for a voiced uvular stop and ʀ for a uvular trill. Each set is exactly as complete as its original discipline required, and no more, nobody was ever asked to spell arbitrary English in them. That history predicts the gaps.

The letters that have no small form

Coverage is the real limitation, and it is uneven across the three sets. Superscript lowercase covers every letter except q, which has no superscript form anywhere in Unicode, so queue comes back as qᵘᵉᵘᵉ with the first letter at full height. Superscript capitals are thinner still: C, F, Q, S, X, Y and Z have no encoded form at all, and capital V exists only at U+2C7D with font support too patchy to rely on, so eight of twenty-six capitals pass through unchanged. Subscript is the sparsest. Seventeen lowercase letters exist (a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v and x) while b, c, d, f, g, q, w, y and z have none, and there are no subscript capitals whatsoever, so a word like background survives almost intact. Small capitals come closest to complete: X is genuinely missing, and Q is stood in for by ǫ, an o with ogonek, because the real small capital Q was encoded only in Unicode 11.0 and few fonts carry it.

Where it renders, and where it breaks

The common characters are safe. San Francisco on iOS, Roboto and Noto on Android, Segoe UI on Windows and the macOS system stack all cover Superscripts and Subscripts and Phonetic Extensions, so ᵃ, ₐ and ᴀ render on every phone you are likely to be read on, and Instagram, X, WhatsApp, Discord, Reddit, Steam and YouTube all pass them through untouched. The weak point is small capitals F and S, which are ꜰ at U+A730 and ꜱ at U+A731 in Latin Extended-D rather than the older phonetic block; on some older Android builds, a few Linux desktops and the embedded browsers in televisions and consoles they fall back to an empty box. Fields that validate input as ASCII reject the lot outright (X handles, Instagram usernames, Steam login names, anything domain-shaped) and no styling trick gets around that. Terminals and monospaced code editors render modifier letters at inconsistent advance widths, so anything you align in columns will drift by a fraction of a character per row. Check the output on a phone first.

Choosing between the three sets

Pick by how much text you are converting. Small capitals are the only set that can carry a whole word or a short sentence reliably, because coverage is near-complete and every letter sits on the same baseline, so the result reads as typography rather than as a glitch. Superscript suits two to eight characters: a raised tag after a name, a subtitle line under a heading, a divider between sections of a bio. Subscript is best kept to digits, since nine lowercase letters and every capital are missing. Neither raised set improves past a dozen characters. Of the thirty-five styles listed here, three are the letterform systems themselves and the remaining thirty-two wrap small capitals in bracket and wing frames, which change what surrounds the word without touching the letters inside it. A practical layout for a bio: keep the first line in plain characters so it stays searchable and readable, then use tiny text on the second line as a subtitle. That way the decoration costs you nothing that matters.

What tiny text costs the reader

Two costs, both real. Screen readers treat these as the distinct characters they are, so a word in small capitals is commonly spelled out letter by letter or announced by character name, and some engines skip modifier letters entirely, which means a superscript line can vanish from the spoken page rather than being read badly. Nobody using VoiceOver or NVDA hears the word you typed, and behaviour varies further by engine and version. The second cost is plain legibility: a superscript letter is already about two-thirds of the surrounding height, and on a phone that puts it near ten pixels, where ᶜ and ᵉ converge and ᵒ and ᴼ become hard to tell apart. Subscript sits below the baseline and collides with descenders when line spacing is tight. The practical rule is to keep anything a reader must act on (a discount code, a URL, a date, an instruction) in plain characters, and reserve tiny text for parts of the page that are decoration and can be missed without loss.

Character counters and normalisation

All three sets live in the Basic Multilingual Plane, so each character is a single UTF-16 code unit. That is unlike the mathematical alphabets at U+1D400 and above, where every styled letter costs two units, and it means thirty characters of small capitals spend thirty of an Instagram bio's hundred and fifty rather than sixty. X is the exception: its counter weights anything above U+10FF as two, so ¹, ² and ³ count one apiece while ᵃ and ₐ count two, and forty superscript characters spend eighty of the two hundred and eighty. Each row's badge counts the output for you, so the cost is visible before you paste rather than at the field's edge. Then there is normalisation. Superscript and subscript characters carry a compatibility decomposition back to their plain counterparts, so any system applying NFKC normalisation turns ᵗⁱⁿʸ back into tiny. Some username checks, search indexes and moderation pipelines do exactly that. Small capitals have no decomposition, so they never revert; the same property means they never match a plain-text search either.

What this tool will not do

It is not a font size control, and where you have real formatting you should use it. In Word, Google Docs or HTML, superscript applied as a style scales the actual glyph, keeps the letter identity intact for search and screen readers, and works for every letter including q and S. Unicode superscript is the fallback for fields that accept no formatting at all, not an upgrade on the real thing. It does not reduce your character count, since every tiny letter still counts as a character. It does not cover non-Latin scripts: Cyrillic, Greek, Arabic and CJK input passes straight through, because the handful of modifier letters that exist for those scripts are not mapped here. Nor does it change how the text is stored: the output is ordinary text. It will not reliably reverse someone else's styled text, and it does not hide anything from moderation or search, several of which normalise before they match. Treat the output as decoration that survives a plain text field, which is all it is.

Frequently asked questions

Why did some of my letters stay full size?

Because those letters have no small form in Unicode. Superscript is missing lowercase q and the capitals C, F, Q, S, X, Y and Z; subscript is missing nine lowercase letters and every capital. Anything unmapped is passed through unchanged rather than guessed at.

Is there a superscript q or a superscript capital S?

No, neither exists. The superscript letters were encoded for maths and phonetic notation, and no discipline needed a raised q or S, so none was ever proposed. Small capitals are the closest workaround, since that set covers both letters and almost everything else.

Does tiny text let me fit more into a bio?

No. Each tiny letter is one character against the cap, exactly like a plain letter. It looks smaller on screen but occupies the same budget, and on X's weighted counter most of these characters actually count as two rather than one.

Can I use small capitals in an Instagram username?

No. Usernames and handles on Instagram, X and most login systems validate input as ASCII letters, digits, dots and underscores, so non-Latin characters are rejected on submission. Bios, display names and captions accept them without trouble, so put the styling there instead.

Why does the F in my small capitals word show as a box?

Small capital F and S sit in Latin Extended-D rather than the older Phonetic Extensions block, so a few older Android builds, some Linux desktops and embedded browsers lack a glyph for them. Modern phone and desktop fonts render both correctly.

How do screen readers handle tiny text?

Badly. Small capitals are usually spelled out letter by letter or read as character descriptions, and superscript modifier letters are sometimes skipped entirely, so the word disappears from the spoken page. Keep anything essential in plain characters. Behaviour varies by engine.

Why does my superscript turn back into normal letters on some sites?

Superscript and subscript characters carry a compatibility decomposition to their plain equivalents, so any pipeline that applies NFKC normalisation flattens them. Some username checks and search indexes do this. Small capitals have no decomposition and survive that step. There is no opt-out.

Should I use this instead of superscript formatting in a document?

No. In Word, Docs or HTML, use the built-in superscript style: it scales the real glyph, covers every letter, stays searchable and reads correctly aloud. These characters exist for fields that strip formatting, where no real alternative is available. Reach for them last.