Free Tool

Unicode Text Converter with Character Cost Check

Convert text to bold, italic, script and other Unicode styles, and see what each one costs before you paste it: extra characters against the field's limit, letters the style does not have, and what a screen reader may say.

Browsing styles for looks? The Instagram font generator has the full gallery. For LinkedIn posts, use the LinkedIn text formatter.

Platform limits last verified 27 September 2026

Limit: 2,200 characters

Character cost · Bold (serif) · Instagram caption

33 characters styled vs 18 plain

This style costs 15 extra characters (1.8× the plain text). 2,167 of 2,200 left.

Written entirely in this style, the field holds about 1,200 characters, not 2,200.

Counted in UTF-16 code units: most styled letters sit outside Unicode's Basic Multilingual Plane and cost 2 each; circled, small-capital, fullwidth and Letterlike letters cost 1; strikethrough and underline add 1 per character.

How this field counts: The platform does not publish how it counts. Outfeed's publisher counts these posts in UTF-16 code units (JavaScript string length) — conservative for emoji, which usually count 2.

Styles (select one for its cost, code points and screen-reader check)

What a screen reader may announce

“mathematical bold capital l, mathematical bold small a, mathematical bold small u, mathematical bold small n, mathematical bold small c, mathematical bold small h…”

These are the Unicode names of the first characters. Screen readers differ: some read names like these, some skip the characters. Keep styled text to a word or a short heading, never whole sentences.

Will it display?

Instagram publishes nothing about styled Unicode in the caption. The styled letters are ordinary Unicode characters, so they are stored as text like any other; whether they display depends on the fonts on each reader's device, and a missing character shows as an empty box.

Every letter and digit exists.

Runs in your browser. Nothing you type is uploaded or stored.

What does a Unicode text converter do?

A Unicode text converter replaces each plain letter with a different Unicode character that looks styled. It does not apply a font. The bold, italic, script, Fraktur, double-struck, sans-serif and monospace letters come from Unicode's Mathematical Alphanumeric Symbols block, which was encoded for maths notation. Unicode's own report on it says these characters "are not intended for use in non-technical text" (Unicode Technical Report #25). Circled, squared and fullwidth letters come from other compatibility blocks, small capitals from the phonetic blocks, and strikethrough and underline are combining marks added after each letter.

Because they are characters, not formatting, they paste anywhere plain text goes: bios, captions, display names and video titles. That portability is why people use them, and it is also the source of every cost below.

How many characters does styled Unicode text cost?

Most styled letters cost 2 characters instead of 1 in UTF-16, the unit Outfeed's publisher counts Instagram, LinkedIn and Threads text in, and 4 bytes instead of 1 in UTF-8. The maths letters sit outside Unicode's Basic Multilingual Plane, so each one takes two UTF-16 code units. Take "Launch day is here": plain, it is 18 UTF-16 units; in bold, "𝐋𝐚𝐮𝐧𝐜𝐡 𝐝𝐚𝐲 𝐢𝐬 𝐡𝐞𝐫𝐞" is 33. Against an Instagram caption's 2,200-character limit, that one short line spends 15 extra characters.

How much that matters depends on how each platform counts. X publishes its method, the open-source twitter-text weighting table, and under it almost every styled letter weighs 2. Bluesky counts graphemes, what a reader sees as one character, so styled letters cost nothing extra there. YouTube caps descriptions in UTF-8 bytes. Instagram, LinkedIn and Threads publish no counting method; Outfeed's publisher counts them in UTF-16 code units. One styled letter, in each unit:

Style Code point UTF-16 Graphemes UTF-8 bytes X weight
Plain a U+0061 1 1 1 1
Bold (serif) 𝐚 U+1D41A 2 1 4 2
Italic (serif) 𝑎 U+1D44E 2 1 4 2
Bold italic (serif) 𝒂 U+1D482 2 1 4 2
Script 𝒶 U+1D4B6 2 1 4 2
Bold script 𝓪 U+1D4EA 2 1 4 2
Fraktur 𝔞 U+1D51E 2 1 4 2
Bold Fraktur 𝖆 U+1D586 2 1 4 2
Double-struck 𝕒 U+1D552 2 1 4 2
Sans-serif 𝖺 U+1D5BA 2 1 4 2
Sans-serif bold 𝗮 U+1D5EE 2 1 4 2
Sans-serif italic 𝘢 U+1D622 2 1 4 2
Sans-serif bold italic 𝙖 U+1D656 2 1 4 2
Monospace 𝚊 U+1D68A 2 1 4 2
Circled ⓐ U+24D0 1 1 3 2
Squared (capitals only) 🄰 U+1F130 2 1 4 2
Small capitals ᴀ U+1D00 1 1 3 2
Fullwidth a U+FF41 1 1 3 2
Strikethrough a̶ U+0061 U+0336 2 1 3 2
Underline a̲ U+0061 U+0332 2 1 3 2

Put differently: a caption written entirely in bold fits about 1,100 characters in Instagram's 2,200, an all-bold X post about 140 of its 280, and an all-bold YouTube description about 1,250 letters in its 5,000 bytes. Every field the tool checks:

Field Limit Counted in All-bold letters that fit
Instagram caption 2,200 UTF-16 code units 1,100
Instagram bio 150 UTF-16 code units 75
LinkedIn post text 3,000 UTF-16 code units 1,500
LinkedIn profile headline 220 (widely reported) UTF-16 code units 110
X (Twitter) post text 280 X-weighted characters (emoji 2, links 23) 140
Threads post text 500 UTF-16 code units 250
Bluesky post text 300 graphemes (an emoji counts 1) 300 (no extra cost)
Bluesky display name 64 graphemes (an emoji counts 1) 64 (no extra cost)
YouTube video title 100 UTF-16 code units 50
YouTube video description 5,000 UTF-8 bytes 1,250

Where the platform does not publish its counting method, the figure assumes UTF-16, which is how Outfeed's publisher counts; treat it as a margin, not a guarantee. To check a whole draft against every limit, use the Instagram character counter or, for X, the Twitter character counter. The LinkedIn post character limit guide covers every LinkedIn field, and the social media sizes table covers images and video.

Why are some letters missing from a style?

Because Unicode encoded 24 of the styled letters years earlier, in the Letterlike Symbols block, and left gaps in the maths alphabets rather than encode them twice. A converter that just adds an offset lands on a reserved, empty code point: italic "h" has to be ℎ (U+210E, PLANCK CONSTANT). This tool uses the correct character every time and tells you when it did. A side effect: those letters cost 1 UTF-16 unit, not 2.

  • Italic (serif): h → ℎ (U+210E)
  • Script: B → ℬ (U+212C), E → ℰ (U+2130), F → ℱ (U+2131), H → ℋ (U+210B), I → ℐ (U+2110), L → ℒ (U+2112), M → ℳ (U+2133), R → ℛ (U+211B), e → ℯ (U+212F), g → ℊ (U+210A), o → ℴ (U+2134)
  • Fraktur: C → ℭ (U+212D), H → ℌ (U+210C), I → ℑ (U+2111), R → ℜ (U+211C), Z → ℨ (U+2128)
  • Double-struck: C → ℂ (U+2102), H → ℍ (U+210D), N → ℕ (U+2115), P → ℙ (U+2119), Q → ℚ (U+211A), R → ℝ (U+211D), Z → ℤ (U+2124)

Some styles have no digits at all (italic (serif), bold italic (serif), script, bold script, fraktur, bold fraktur, sans-serif italic, sans-serif bold italic), and small capitals have no q or x. The converter keeps those characters plain and lists them under the style, so a styled headline never silently mixes in a wrong look-alike.

Can screen readers and search read styled Unicode text?

Often not as words. Texas Tech University's digital accessibility guide calls these characters "mathematical symbols", advises avoiding them, and shows a screen reader announcing each letter by its maths name (Texas Tech University). The disability charity Scope notes that screen readers "may skip them entirely or read something irrelevant" (Scope for Business). Bold "Hi" carries the Unicode names "mathematical bold capital h, mathematical bold small i". The tool shows these names for whatever you type.

Search has the same problem. A bold H is a different code point from a plain H, so a search index that does not fold compatibility characters back to plain letters treats them as different words. No platform publishes whether its in-app search does that, so a styled name or headline may be harder to find. Unicode's maths report notes they "can be confused with styled text" and excludes them from security-sensitive uses such as domain names. Use a style for one word or a short heading, and keep names, handles and full sentences plain.

How do you convert styled text back to plain text?

Paste it into the converter: it turns styled letters back into plain ones before doing anything else, and shows you the plain version. Under the hood this is Unicode compatibility normalisation, called NFKC (Unicode Standard Annex #15). Every maths, circled, squared and fullwidth letter has a compatibility mapping to its plain letter, so "𝐒𝐚𝐥𝐞 𝓉ℴ𝒹𝒶𝓎 ⓞⓝⓛⓨ" comes back as "Sale today only". Small capitals have no such mapping, so the tool maps them back itself, and it strips strikethrough and underline marks.

It applies NFKC only to styled letters. Run on a whole caption, NFKC would also rewrite things you meant to keep, such as the ™ sign and the ellipsis. Squared letters exist only as capitals, so their lower case cannot be recovered.

From a styled line to a published post

A style is a finishing touch; the post still has to be written, sized for each platform and published. That is what Outfeed AI does. It is a chat-first AI social media manager: you describe the post, it writes it in your brand voice, shows a preview per platform, and schedules and publishes to Instagram, TikTok, LinkedIn, X, Facebook, Threads, YouTube, Pinterest and Bluesky from one conversation. Its publisher checks text limits in code before sending, for example: Outfeed's publisher refuses a LinkedIn post over 3,000 characters, counted in UTF-16 code units. Outfeed's publisher counts Bluesky posts in graphemes, the way Bluesky does, and refuses anything over 300.

Frequently Asked Questions

Is Unicode styled text a font?

No. A font changes how the same letters look. A Unicode text converter swaps each letter for a different character: the bold "a" is U+1D41A, a separate code point from the plain "a" (U+0061). That is why it survives copy and paste into apps that have no formatting menu, and also why it costs more characters, can be missed by search and can be read out oddly by screen readers.

Does styled Unicode text count as more characters?

Usually, yes. In UTF-16, the unit Outfeed's publisher uses for Instagram captions, LinkedIn posts and Threads posts, most styled letters cost 2 instead of 1. X weighs almost every styled letter as 2 against its 280 limit. Bluesky counts graphemes, so a styled letter costs 1 there, the same as a plain one. YouTube caps descriptions at 5,000 bytes, and a bold letter is 4 bytes. Apart from X, Bluesky and YouTube descriptions, the platforms do not publish how they count, so leave a margin.

Why do some styled letters show up as boxes?

The reader's device has no font containing that character, so it draws a placeholder box instead. The text itself is intact, and it displays wherever a font does cover it. Platforms do not publish which devices or fields display which styles, so check a styled line on the devices your audience uses before it goes into a bio or display name.

Is this Unicode text converter free, and is my text uploaded?

It is free, with no signup. Every conversion and count runs in your browser, and nothing you type is sent anywhere or stored. The platform limits it checks against are shipped inside the page.

Styled right. Now post it everywhere.

Write, preview, schedule and publish to 9 platforms by chatting.

Try Outfeed AI Free