ForHosting KIT · Developer Utilities

Unicode superscript text

Type x2 + y3 and get ˣ² ⁺ ʸ³: digits, plus, minus, equals, brackets and many Latin letters rise into Unicode superscripts that keep their raised look wherever only plain text is allowed. Free in your browser.

  • Free
  • Runs in your browser
  • No sign-up
  • Your data stays on your device
Use it from WebAPIEmailTelegramApp soon
If you enter
Text
x2 + y3
Calculation mode
Encode
You get
Result
ˣ² ⁺ ʸ³
Direction
encode
Mapped
5
Unmapped count
1

Unicode superscript text turns ordinary Latin letters, digits, and a few operators into raised look-alike characters that travel inside the string itself, so a footnote marker, power, or chemical-style label can appear elevated even when a platform strips fonts, rich text, or markdown. Writers paste those glyphs into captions, product titles, academic notes, and chat messages because the style is encoded in the characters rather than in a stylesheet. Spaces, punctuation, hashtags, emoji, and letters without a standard superscript form pass through unchanged and are listed in an unmapped report so you always know what did not convert.

How Unicode superscript maps letters, digits, and operators

Unicode superscript is a fixed set of code-point assignments spread across several blocks, not a font baseline offset applied by a word processor. Digits map to the classic raised forms: zero is U+2070, one is U+00B9, two is U+00B2, three is U+00B3, and four through nine occupy U+2074 through U+2079. Many lowercase Latin letters have modifier-letter or superscript counterparts such as ᵃ, ᵇ, ⁿ, and ˣ, while a useful subset of uppercase letters (A, B, D, E, G–P, R, T–W among others) maps to modifier-letter capitals.

Operators plus, minus, equals, and parentheses become ⁺ ⁻ ⁼ ⁽ ⁾ so formulas like x²⁺¹ or footnote markers like (1) can stay entirely in raised form. Encode walks each Unicode scalar value in your string, replaces every plain character that has a table entry with the matching superscript code point, and leaves everything else in place. Decode walks the same way in reverse: each known superscript character becomes the corresponding ASCII letter, digit, or operator, while spaces, punctuation, and unrelated symbols stay as they are.

Because some of these code points sit outside the Basic Multilingual Plane or use single BMP units that are not contiguous, the implementation iterates by code point rather than by UTF-16 unit, so a single raised character is never split.

Where Unicode superscript shows up in real work

Technical writers and editors still reach for raised Unicode when a footnote marker, power, or ordinal must stand out without platform-native formatting controls that vanish on share or in plain-text email. Product and e-commerce teams generate title variants for marketplaces that accept plain text only but render superscript digits and letters in customer feeds, for example area units m² or model generations like gen².

Science educators and textbook pipelines need a deterministic encode path so every worksheet uses the same raised alphabet rather than a one-off paste from an unreliable generator site. Support desks receive superscript paste from customers and need a reliable decode path back to searchable plain text for ticketing and knowledge bases. If you need HTML sup tags, CSS vertical-align, Unicode subscript, mathematical bold or fraktur styling, Braille translation, or leetspeak substitutions, treat those as separate search intents and landings rather than overloading this Unicode superscript page.

Footnote markers and citation suffixes

Raise digits and short letter labels for footnotes, endnotes, and citation suffixes that must survive plain-text fields and chat paste.

Formula exponents without rich text

Encode powers and operator fragments such as x2 or (n-1) into Unicode superscript for captions, slides, and marketplace titles that strip HTML.

Decode raised paste into searchable plain text

Convert customer messages or scraped titles that use superscript glyphs back to ordinary ASCII for search, CRM, and knowledge-base indexing.

What characters can become Unicode superscript?

Digits 0–9, Latin letters that Unicode defines as superscript forms (most lowercase; a useful uppercase subset), and the operators + - = ( ). Spaces, punctuation, emoji, and letters without a standard raised form pass through and are listed in unmapped.

How does auto mode choose direction?

If the input contains any known superscript character from this table, auto decodes to plain text. Otherwise it encodes plain letters, digits, and operators to superscript.

Is this the same as HTML <sup> or CSS vertical-align?

No. This emits Unicode superscript code points that travel inside the text itself. HTML tags and CSS baseline shifts are separate mechanisms that platforms often strip.

What happens to characters that cannot map?

They stay in the result in their original form.

What does it cost?

The browser tool is free and runs locally.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/enc/superscript-unicode

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/enc/superscript-unicode \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"x2 + y3 = z4"}'
{
  "text": "x2 + y3 = z4"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "enc.superscript_unicode",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

This capability maps digits zero through nine, the Latin letters that Unicode defines as superscript forms, and the operators plus, minus, equals, and parentheses in either direction: encode produces superscript code points, decode restores plain ASCII, and auto mode picks the direction by detecting whether any known superscript character is already present.

How Unicode superscript maps letters, digits, and operators

Characters that have no superscript counterpart—commas, spaces, emoji, CJK ideographs, and letters such as q that lack a standard raised form—are not invented or dropped; they pass through and appear once each in the unmapped list so API clients can audit coverage. This page implements only superscript conversion, not subscript, mathematical bold, italic, fraktur, or HTML/CSS vertical-align tricks, which are separate search intents.

What you send and what you get back

Send a required string field named text containing the footnote fragment, power expression, product label, or caption you want to raise or restore. Optionally send mode as encode, decode, or auto; when omitted, auto is the default. Classic checks include encoding x2 into ˣ² while listing space as unmapped when present, decoding a raised phrase back to plain ASCII, and confirming that an empty text field is rejected rather than returned unchanged. Aliases such as input, value, data, message, and string are accepted for the same field so scripts can reuse existing payload shapes. Direction aliases such as op, operation, and direction, and short values like enc, dec, to_super, from_super, and superscript are also accepted. On success the response echoes the original text, returns result as the transformed string, mode as the requested operation, direction as the resolved encode or decode path, mapped as the count of characters that hit the table, unmapped_count and unmapped as the unique passthrough characters that did not map, length as the Unicode scalar length of the result, plus script, block, and standard labels naming Unicode superscript. Missing text, non-string objects for text, empty strings, unknown mode values, and strings longer than the documented maximum fail with invalid_input and a clear English message. Validation failures do not consume prepaid balance. Pricing for successful API calls is the published base of $0.002 per item.

Where Unicode superscript shows up in real work

Because this capability is a pure parse engine, API pricing is the published base of $0.002 per successful item and failed validation does not consume balance.

Read the full KIT documentation →