ForHosting KIT · Text & AI

Small caps converter

Hello World becomes Hᴇʟʟᴏ Wᴏʀʟᴅ: the 8 lowercase letters turn into small capitals while H and W stay full size. Because the style lives in the characters themselves, it survives profile bios and plain-text titles. 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
Hello World
You get
Result
Hᴇʟʟᴏ Wᴏʀʟᴅ
Length
11
Original length
11
Mapped
8

Creators paste that mix into bios, chapter titles, product labels, and comment replies because the style travels with the code points themselves rather than with a stylesheet or OpenType feature that a social field will strip. This converter walks every character of your string, replaces a through z with the conventional LATIN LETTER SMALL CAPITAL look-alikes, and leaves digits, punctuation, spaces, emoji, other scripts, and already-uppercase letters exactly as they arrived. There is no dedicated Unicode small capital X, so the letter x is kept as Latin small letter x and reported in the mapping counts.

How lowercase letters become Unicode small capitals

True typographic small caps are not the same as shouting in uppercase. In a well-set heading, the first letter of a proper name stays a full capital while the remaining letters take capital shapes at roughly x-height. Fonts usually do that with an OpenType small-caps feature, but that feature never survives a plain-text bio, a marketplace title, or a spreadsheet cell.

Unicode instead ships a scattered set of letter-like characters whose official names are LATIN LETTER SMALL CAPITAL, collected mainly in Phonetic Extensions, IPA Extensions, and Latin Extended-D. Lowercase a maps to U+1D00, b to U+0299, c to U+1D04, and so on through z at U+1D22, with f and s living at U+A730 and U+A731 and q at the modern U+A7AF small capital. This converter applies that table only to lowercase Latin letters, so Hello becomes a full H followed by small-cap ello rather than a flattened all-small-cap string.

Uppercase letters, digits, punctuation, emoji, and other scripts pass through unchanged. Because a few of these glyphs sit in planes that need surrogate pairs in UTF-16, the implementation iterates by Unicode scalar value rather than by code unit, so a single emoji is never split. Unicode has never defined LATIN LETTER SMALL CAPITAL X; the letter x is left as Latin small letter x, which is the common generator convention and is visible in the mapped counts of every successful response.

Where small-caps conversion shows up in real work

Editorial designers still reach for small capitals when a running header, chapter kicker, or brand lockup must look typeset without shipping a webfont that every downstream app will ignore. Social managers paste the same glyphs into profile bios and story stickers because those fields strip CSS font-variant and leave only the characters you actually sent. Brand and fashion teams generate product-title variants for marketplaces that accept plain text only but still render small-capital look-alikes in customer feeds.

Teachers assigning Unicode code-point labs need a deterministic map from Hello to a mixed capital-plus-small-cap string, not a one-off paste from a generator that changes tables overnight. Support desks receive styled Unicode from customers and want a documented alphabet so they can reverse a glyph back to the Latin letter that produced it.

If you need CSS font-variant small-caps, OpenType smcp, Mathematical Bold, Fraktur blackletter, superscript characters, or ordinary uppercase conversion, treat those as separate search intents and landings rather than overloading this page, which exists specifically for copy-pasteable Unicode small capitals built from lowercase Latin letters.

Headings that keep a capital contrast

Turn Hello World into a full H plus small-cap ello so titles and kickers look typeset in plain-text fields.

Social bios and stickers

Paste Unicode small capitals into profile bios and story stickers that strip CSS small-caps and webfonts.

Which letters become small capitals?

Latin lowercase a–z. Uppercase letters stay full size. Digits, spaces, punctuation, emoji, and other scripts pass through and are listed in unmapped.

Is this the same as CSS font-variant: small-caps?

No. This emits Unicode small-capital code points that travel inside the text. CSS and OpenType small caps depend on fonts and stylesheets that many fields strip.

Why does x look like a normal x?

Unicode does not define LATIN LETTER SMALL CAPITAL X. This converter keeps Latin small letter x and still counts it among mapped lowercase letters.

What happens to uppercase letters?

They stay as ordinary capitals so you keep a true small-caps contrast (Hello rather than an all-small-cap string).

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/str/small-caps

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/str/small-caps \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"text":"Hello World"}'
{
  "text": "Hello World"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "str.small_caps",
  "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.

max_chars65536
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.

Unicode small capitals let you keep a true small-caps contrast in places that only accept plain text: full-size capitals stay large, and lowercase letters become compact capital-shaped glyphs from the Phonetic Extensions, IPA Extensions, and Latin Extended blocks.

What you send and what you get back

Send a required string field named text containing the heading, caption, label, or sentence you want styled as small capitals. Classic checks include converting Hello World into a mixed full-capital H and small-cap ello, confirming that already-uppercase CASE stays large beside converted lowercase letters, and verifying that a numeric or empty text field is rejected rather than silently coerced. Aliases such as input, string, value, content, message, data, and s are accepted for the same field so scripts and spreadsheets can reuse existing payload shapes without renaming columns. On success the response echoes the original text, returns result as the transformed string, length as the Unicode scalar length of that result, original_length as the scalar length of the input, mapped as the count of lowercase Latin letters that hit the table, unmapped_count and unmapped as the unique characters that passed through, and method as the fixed tag to_small_caps for logs. Missing text, null, empty strings, numbers, objects, arrays, booleans, and strings longer than the documented maximum fail with invalid_input and a clear English message that names the problem. Validation failures do not consume prepaid balance.

Where small-caps conversion 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.

Deterministic fixtures for content pipelines

Generate golden small-caps strings so scheduled-post tools and CI checks always apply the same alphabet.

Read the full KIT documentation →