Subscript text generator

Subscript text generator maps each letter and digit to its Unicode subscript counterpart so the dropped baseline survives copy-paste. Digits come from U+2080 to U+2089; letters come from the IPA subscript block in Phonetic Extensions. Coverage for letters is much thinner than superscript: only a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x have Unicode subscript forms. Anything without a mapping passes through. Need superscript instead?

Input
Line 1:1 LF cloud_done Saved locally
Result Subscript Generator
0 lines 0 chars

Subscript via Unicode, with letter coverage caveats

Real subscript in HTML is <sub>. Most social bios strip it. Unicode subscript characters survive because they are real codepoints, not formatting tags. Digits 0 to 9 are at U+2080 onwards; math operators (plus, minus, equals, parens) are at U+208A onwards; letters come from the IPA subscript range in Phonetic Extensions (U+2090 onwards plus some scattered codepoints).

Letter coverage is the catch. Only 17 lowercase letters have Unicode subscript forms: a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x. The rest (b, c, d, f, g, q, w, y, z) have no mapping and pass through at baseline. The tool lowercases input first to land in the alphabet that has any coverage at all.

Common uses: chemistry-style notation (H2O, CO2, where the digits drop), variable indices in casual math posts (x_i, a_n), and footnote markers. For full alphabet coverage at small size, small caps is a better choice.

How to use subscript text generator

  1. 1Paste or type your text into the input panel on the left.
  2. 2The subscript result appears in the output panel as you type.
  3. 3Click Copy in the output header to copy the result.
  4. 4Paste into your bio, post, chemistry caption, or footnote.
  5. 5Where letter coverage is missing, characters fall through at baseline.

Keyboard shortcuts

Drive TextResult without touching the mouse.

Shortcut Action
Ctrl FOpen the find & replace panel inside the input Plus
Ctrl ZUndo the last input change
Ctrl Shift ZRedo
Ctrl Shift EnterToggle fullscreen focus on the editor Plus
EscClose find & replace, or exit fullscreen
Ctrl KOpen the command palette to jump to any tool Plus
Ctrl SSave current workflow draft Plus
Ctrl PRun a saved workflow Plus

What this tool actually does

Digits get full coverage

Digits 0-9 are mapped to U+2080 to U+2089. This is the most reliable part of the tool: every modern OS ships these glyphs, and rendering is universal.

Letter coverage is partial (17 of 26)

Lowercase a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x have Unicode subscript forms. The other 9 letters (b, c, d, f, g, q, w, y, z) do not. The tool lowercases input and maps what it can; missing letters pass through at baseline.

Math operators included

The + - = ( ) characters are mapped to U+208A / U+208B / U+208C / U+208D / U+208E. Useful for chemistry equations and algebraic indices.

Lowercases capitals

There are no Unicode subscript capitals. The tool lowercases every input character before mapping, so H2O and h2o both produce ₕ₂ₒ.

Browser-side, deterministic

Single JavaScript object lookup per character. Same input always yields the same output. No upload, no log.

Worked example

Notice d and lowercase c in cₒ₂ stay at baseline because Unicode does not include subscript forms for them. Digits and the equals sign drop cleanly.

Input
H2O and CO2
x i = 1
Output
ₕ₂ₒ ₐₙd cₒ₂
ₓ ᵢ ₌ ₁

Settings reference

Behaviour Effect on output
Digits 0-9 Mapped to U+2080-U+2089. Full coverage.
Letters with subscript forms a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x (17 letters) mapped to IPA subscript glyphs.
Letters without subscript forms b, c, d, f, g, q, w, y, z pass through at baseline because no Unicode codepoint exists.
Capital A-Z Lowercased first, then mapped. Output is always lowercase subscript.
Math operators (+ - = ( )) Mapped to U+208A-U+208E.
Punctuation and accents Pass through unchanged.
Whitespace Pass through unchanged.

FAQ

Why are some of my letters not subscript?
Unicode only includes subscript forms for 17 of the 26 lowercase letters. b, c, d, f, g, q, w, y, and z have no mapping and stay at baseline. There is no fix at the Unicode layer; for full small-letter coverage use small caps instead.
Can I use this for chemistry like H2O?
For the digits, yes: H2O becomes ₕ₂ₒ. The H drops to lowercase first then to subscript h. For real chemistry typesetting, you want a Markdown or LaTeX document with proper <sub> tags; the Unicode form is only for casual bios and chat.
Will it work in Twitter, Discord, Instagram?
Yes. Subscript digits (U+2080 onwards) and the IPA subscript letters render universally on modern OSes. Older Android Chrome and iOS Safari render every codepoint cleanly.
How do I get plain text back?
There is no clean reverse inside this site. A Unicode NFKC normalisation pass (in your editor or a Unicode utility) decomposes the subscript codepoints back to ordinary digits and letters. Save your original input separately if you can.
Why are capitals not subscript?
Unicode does not include subscript capital letters. The tool lowercases first so the input lands in the only block that has any coverage. If you typed HELLO you get ₕₑₗₗₒ (lowercase subscript) rather than capital subscript, which does not exist.