How to Write Superscript and Subscript Text Anywhere With Real Unicode
Type x² or H₂O into a chat, bio, or spreadsheet using real Unicode superscript and subscript characters that paste cleanly into plain text without HTML.
How to Write Superscript and Subscript Text Anywhere With Real Unicode
Most places I type every day refuse to do small raised or lowered text. A Discord message, an Instagram bio, a YouTube title, a spreadsheet cell, a code comment — they all take plain characters and nothing else. So when I need to write x² or H₂O, the obvious tools fail me. There is no equation editor in a chat box, and the <sup> tag I'd reach for in HTML simply does not exist in those fields.
The fix is older and stranger than most people expect: Unicode already contains a set of dedicated superscript and subscript characters. They are real code points, not styled HTML, so they paste into plain text and stay put. This post covers how that works, where the coverage runs out, and how to actually write the things you need — exponents, chemical formulas, footnote marks, unit labels.
Unicode Has Dedicated Small Characters, Not Styling
Here is the one concrete fact that makes everything else click: Unicode has dedicated superscript and subscript characters that paste into plain text, unlike CSS sup/sub which needs HTML. When you write a ² in a tweet, you are not applying formatting. You are inserting U+00B2, a single character that the font already knows how to draw small and raised. There is no markup wrapped around it. Delete the character and the superscript is gone, because the smallness is the character.
That distinction matters because the two approaches behave in opposite ways. HTML <sup>2</sup> only renders inside a page that processes HTML; copy it into a spreadsheet and you get the literal text 2 with the tag stripped, formatting lost. Unicode ² survives the same trip intact — it stays ² in a CSV, a filename, a database field, or a chat app, because nothing is being interpreted. It's just a letter that happens to look small.
The catch — and it's a real one — is that not every letter has a form. Unicode assigned small variants to some characters, not all of them, and the gaps are uneven. You can write a superscript n but not a superscript q. You can write a subscript o but not a subscript b. This isn't a bug in any tool; it's the boundary of what the standard ever defined. Any tool that promises a fully styled word is either faking it with a box character or quietly dropping letters.
What's Covered and Where the Gaps Are
The coverage breaks down roughly like this. Superscript handles every digit 0 through 9, the symbols + - = ( ), most lowercase letters, and a partial set of uppercase ones. Subscript covers the digits and the same symbols, but a much smaller group of letters: a, e, h, i, j, k, l, m, n, o, p, r, s, t, u, v, x.
Notice what's missing from subscript — there's no subscript b, c, d, f, or g. That gap is exactly why chemistry works the way it does in Unicode, which I'll come back to. The practical rule is simple: digits and math symbols are safe in both directions, letters are a gamble, and you should always check what came out before you trust it.
A good generator handles the gaps honestly. The Superscript & Subscript Text Generator leaves any unsupported character at full size and lists it under the output, so a word that only converted halfway tells you so instead of silently shipping a fallback box to your reader. That notice is the difference between "looks fine to me" and "looks fine to everyone who opens it on a different device."
A Worked Example: Writing x² and H₂O in Plain Text
Let's do the two most common cases by hand.
For an exponent like x², you want superscript mode. Type x2. The 2 maps to U+00B2 and the output reads x². To write a full expression — say x squared plus y squared equals r squared — type x2 + y2 = r2 and you get x² + y² = r² in one pass. The + and = have superscript forms too, so even the operators ride along if you want them small.
For a chemical formula like H₂O, switch to subscript mode and type H2O. The output is H₂O — and notice that only the digit dropped down. The H and the O stayed full size. That's not the tool being lazy; it's correct. Unicode has no subscript H, C, or O, and a chemistry textbook prints formulas exactly this way: full-size element symbols, small lowered numbers. So CO2 becomes CO₂, C6H12O6 becomes C₆H₁₂O₆, and the limitation lines up perfectly with the convention.
One trap worth naming: don't run H2O through superscript mode. You'll get H²O, which is wrong — a formula's number sits low, not high. Picking the wrong direction is the single most common mistake, and it produces output that looks plausible until a chemist sees it.
If you need a combined case like the sulfate ion SO₄²⁻, do it in two passes: subscript the 4, then superscript the 2-. The result reads SO₄²⁻, with the count low and the charge high, the way it should.
Where This Actually Earns Its Keep
The everyday wins are unglamorous and constant. A spreadsheet column for area gets labeled m² instead of "m2 (sq)". A footnote mark like ¹ or ² drops next to a value without breaking the cell. A forum reply about algorithm complexity can say O(n²) and have it read correctly for every person in the thread, no LaTeX render required.
Social bios are the other big one. Instagram, TikTok, and X bios take plain text only, but superscript and subscript letters read as a smaller raised or lowered accent — a quiet bit of style that survives because it's genuine Unicode, not a hack the platform will strip. If you're stacking effects there, it pairs naturally with a fancy text generator for the bolder transformations, while superscript handles the subtle ones.
The common thread is destinations that only accept characters, never markup. Anywhere you can't reach for HTML or an equation editor — which is most of the internet's input boxes — Unicode small text is the only thing that travels.
A Few Honest Caveats
Two things to keep in mind before you paste with confidence.
First, the receiving app needs a font that ships these glyphs. Nearly every modern system does, but a very old system font might show a fallback box for the rarer letters. The digits and common symbols (², ³, ₂) are near-universal; the obscure subscript letters are where you'd occasionally see trouble. Test on a second device if it's going somewhere important.
Second, these are still single characters under the hood, so a screen reader or a search index may read H₂O differently than H2O. For a caption or a label that's fine. For something that needs to be machine-searchable, keep a plain version handy too.
None of this undercuts the core point. For the dozens of small daily moments where you need a raised exponent or a lowered formula number and the box won't take formatting, real Unicode superscript and subscript characters are the clean, portable answer — they paste once and they stay.
Made by Toolora · Updated 2026-06-13