Subscript Generator

Subscript characters sit below the baseline, the “2” in H₂O, the “n” in aₙ. Word processors produce them with an <sub> tag or a font feature, but those formats do not survive copy-paste into Twitter, Instagram, a chat app or a plain-text CSV. This generator swaps every character that has a pre-composed Unicode subscript equivalent, so you end up with real characters (₂, ₙ, ₐ) that render everywhere a Unicode font is available. Characters with no subscript form are left exactly as you typed them.

How to generate subscript text

  1. 1

    Type the source text

    Enter a formula like `H2O`, a sequence like `a1 + a2`, or any string.

  2. 2

    Automatic substitution

    Every supported character is lowered: digits 0-9, the operators `+ - = ( )` and the letters that have a Unicode subscript form.

  3. 3

    Copy the result

    The output is plain Unicode text. Paste it into any app that renders UTF-8.

Which characters have a subscript form in Unicode

Unicode only defines subscripts for a small, fixed set of characters. This is not a font effect: if a character has no subscript codepoint, the tool leaves it unchanged. It also lowers every supported character it finds, so it turns whole words into subscript (hello becomes ₕₑₗₗₒ), not only the digit in a formula.

Set Supported
Digits 0-9 ₀ ₁ ₂ ₃ ₄ ₅ ₆ ₇ ₈ ₉
Operators ₊ ₋ ₌ ₍ ₎
Lowercase letters (17) ₐ ₑ ₕ ᵢ ⱼ ₖ ₗ ₘ ₙ ₒ ₚ ᵣ ₛ ₜ ᵤ ᵥ ₓ
Letters with no subscript b c d f g q w y z stay unchanged
Uppercase input folded to the lowercase form (H becomes ₕ)
Non-Latin scripts Greek, Cyrillic, CJK, Arabic pass through unchanged

Building a chemistry formula

Because the tool lowers every character it can, typing H2O returns ₕ₂ₒ, not H₂O. To keep the letters upright and lower only the number, convert just the subscript part: type 2, copy the ₂, and place it between a normal H and O. The same trick builds CO₂, C₆H₁₂O₆ or NaHCO₃.

Use cases

  • Chemistry formulas, the lowered digit in H₂O, CO₂, C₆H₁₂O₆, NaHCO₃
  • Math notation, aₙ, xᵢ, logₑ, Σₖ
  • Social bios, a way to add visual variety where markup is not allowed
  • Index references, cite footnotes in plain text without HTML

Where Unicode subscripts do and do not render

Modern operating systems ship with fonts (Segoe UI, San Francisco, Noto Sans) that cover these codepoints. They work in Slack, Discord, Twitter/X, WhatsApp, Gmail, most IDEs and any modern browser. Some terminals, very old email clients and some custom-font websites may show a placeholder box instead, so test in your target environment.

Subscript vs the <sub> tag

If you are writing HTML, the semantically correct approach is <sub>2</sub> inside the <p>. Unicode subscripts are a compromise for plain-text contexts. Use the tag where you can; use Unicode everywhere else.

Frequently Asked Questions

Unicode only defines subscript forms for a subset of lowercase letters (a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x). Missing letters like b, c, d, f, g, q, w, y, z have no subscript codepoint so the tool passes them through as-is.

Unicode has no distinct uppercase subscript letters, so the tool folds any uppercase input down to the available lowercase form automatically (H becomes ₕ, O becomes ₒ). Letters with no subscript at all, such as B or D, stay unchanged.

Yes for digits and most common letters. Instagram and Twitter use system fonts that render the subscript codepoints properly on all modern phones.

No. Screen readers treat ₂ as the character “subscript two” rather than part of a chemical formula, which can be unclear. For published web content prefer real HTML markup (<sub>).

No. The substitution happens as the page renders and nothing you type is logged.

Related Tools

Tool available in other languages