Superscript via Unicode codepoints, not <sup>
Real superscript in HTML is <sup> and gets stripped from social bios. Unicode includes a small library of pre-baked superscript characters for footnotes, ordinals, and chemistry-style notation. This tool draws on three Unicode blocks: Spacing Modifier Letters (U+02B0 onwards), Phonetic Extensions (U+1D2C onwards), and the dedicated Superscripts and Subscripts block (U+2070 onwards).
Coverage is partial. Letters a-z mostly have superscript forms (the IPA pulled them in for phonetic notation), but Q is missing, and capitals have spotty coverage. The tool lowercases the input first to maximise the hit rate, then maps each letter and digit. Anything without a Unicode counterpart passes through verbatim, so the output is a mix of raised and baseline characters where coverage is incomplete.
Common uses: bio decoration, footnote markers in chat (a, b, c notation), ordinals (1st, 2nd, 3rd), and numeric exponents. The output reads as a single text run; no styling tags involved.
How to use superscript text generator
- 1Paste or type your text into the input panel on the left.
- 2The superscript result appears in the output panel as you type.
- 3Click Copy in the output header to copy the result.
- 4Paste into your bio, post, or footnote callout.
- 5Where coverage is missing (e.g. capital letters, accented chars), characters fall through at baseline.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Lowercases input first
Capital A-Z mostly do not have Unicode superscript forms (only a handful exist in the IPA blocks). The tool calls toLowerCase() on every input character before mapping, so HELLO and hello produce the same output.
Three Unicode blocks combined
Letters come from Spacing Modifier Letters (U+02B0 onwards) and Phonetic Extensions (U+1D2C onwards). Digits 0-9 come from the dedicated Superscripts block (U+2070 to U+2079). Math operators (+, -, =, parens) come from U+207A to U+207E.
Letter q has no superscript form
Unicode does not include a superscript lowercase q. The letter falls through at baseline. j and r use the IPA glyphs U+02B2 and U+02B3, which look slightly different from the rest of the run because they come from a different sub-block.
Punctuation and accents pass through
Spaces, hyphens, periods (other than the math operators noted above), accented Latin letters, emoji, and CJK pass through unchanged. The output is a mixed run if your input has anything beyond basic letters, digits, and the math operators.
Browser-side, deterministic
Single JavaScript object lookup per character. Same input always yields the same output. No upload, no log.
Worked example
Letters drop to lowercase first, then each mapped character is replaced. Digits 1 and 2 use U+00B9 and U+00B2, the equals sign uses U+207C, the space passes through.
footnote 1 and 2 E = mc 2
ᶠᵒᵒᵗⁿᵒᵗᵉ ¹ ᵃⁿᵈ ² ᵉ ⁼ ᵐᶜ ²
Settings reference
| Behaviour | Effect on output |
|---|---|
| Letters a-z (lowercased) | Mapped to superscript forms from the Spacing Modifier and Phonetic blocks. Example: a -> ᵃ, n -> ⁿ. |
Letter q |
No Unicode superscript form exists. Falls through at baseline. |
| Capital A-Z | Lowercased first, then mapped. Output reads as lowercase superscript regardless of input case. |
| Digits 0-9 | Mapped to U+2070 / U+00B9 / U+00B2 / U+00B3 / U+2074-U+2079. |
| Math operators | + - = ( ) mapped to U+207A / U+207B / U+207C / U+207D / U+207E. |
| Punctuation and accents | Pass through unchanged because no superscript form exists in Unicode. |
| Whitespace | Pass through unchanged. |
FAQ
Why is the output mostly lowercase even when I typed capitals?
Why does my q stay at baseline?
z in many fonts (the IPA ᶻ glyph is sometimes drawn at full height by older fonts).Will it work in Twitter, Instagram, Discord, TikTok?
Can I use this for math exponents?
x 2 and copy ˣ ². For algebraic exponents involving variables, the lowercase IPA letters work in casual posts but are not a substitute for proper math notation (use LaTeX or MathML for that).