Why does fancy text count as two characters in a text message?
Bold, italic and script letters are not styled text — they are separate Unicode characters that live outside the range most systems count as one unit, which is why a caption or text message with a strict limit fills up faster than the visible letters suggest.
Type a sentence in 𝗯𝗼𝗹𝗱 or 𝒮𝒸𝓇𝒾𝓅𝓉 into a text message or a caption with a character limit, and it can run out of room noticeably sooner than the same words in plain letters — sometimes splitting one text into two, sometimes cutting a bio off mid-word. The letters you can see are not lying to you. What changed is how those letters are stored underneath, and that is worth understanding before you assume the app is broken or the limit shrank.
A letter is a number, and some numbers are bigger
Every character a computer handles — a letter, a digit, an emoji — is really a number under the hood, called a code point. The first 65,536 of those numbers make up what Unicode calls the Basic Multilingual Plane, and it covers the overwhelming majority of what anyone types day to day: the Latin alphabet, accented letters, most other scripts, common punctuation. Systems that store text as 16-bit units, which includes a lot of the plumbing behind text messages and web forms, can represent any character in that range with a single unit.
A smaller number of Unicode blocks sit above that range, and a character from one of them needs two 16-bit units instead of one — a pair, rather than a single value — to be represented the same way. Visually it is still one letter on the screen. Underneath, it takes twice the storage, and anything counting in those units counts it as two.
Where the fancy-text styles fall
Bold, italic, bold italic, script and double-struck letters are not the ordinary alphabet with a style flag attached — each one is a separate character, sitting in a Unicode block called Mathematical Alphanumeric Symbols, originally added so mathematical papers could distinguish a bold vector from an italic scalar in plain text. That block sits above the Basic Multilingual Plane. Typing one bold letter still only produces one character — nothing extra gets inserted, unlike a strikethrough mark riding on top of a letter — but that single character is a heavier one. A 𝐁 is one visible letter and two units of storage, the same shape of cost as an emoji, and any counter working in those units — which describes a fair amount of the software handling text messages, form fields and length-limited captions — reads it as two characters for every one you can see.
Where this actually shows up
Text messages
An ordinary SMS uses an older 7-bit alphabet that fits 160 characters into a single message. The instant a message contains a character outside that alphabet — true of every fancy-text letter, and true of most emoji too — the whole message switches to a Unicode encoding, and the limit for a single segment drops from 160 to 70. A phone still shows this as one message while you are typing it, then quietly sends it as two or more if it runs past that lower limit, and each extra segment is a separate message on the sending and receiving end. A couple of words of bold or script text is often enough to tip an otherwise-short message over that line. iMessage, which sends over data rather than the carrier’s SMS channel, does not carry this particular limit — the segment math is specific to SMS and MMS.
Bios and captions with a strict limit
The same underlying arithmetic shows up anywhere a platform counts length in 16-bit units rather than in what you would call a visible letter — a bio field, a caption, a form with a character counter ticking down as you type. Exactly which counting method a given app uses is rarely published anywhere you can check in advance, and it can change. The safe assumption is the same one that applies to text messages: a line padded with fancy letters may hit its limit sooner than the identical words in plain text, never later.
Not every fancy style does this
This is specific to the styles built from characters outside the Basic Multilingual Plane — bold, italic, bold italic, script and double-struck among them. Other fancy styles map to characters that already sit inside that plane and cost nothing extra: Small Caps and Wide text, for instance, are ordinary single-unit characters, just uncommon ones. Strikethrough inflates length for a completely different reason — a combining mark added after every letter rather than a swapped-out letter — which is its own mechanism with its own cost, not this one.
Where Kibo fits
Kibo carries twelve fancy text styles on the keyboard itself, applied as you type rather than through a web generator you copy from — Bold, Italic, Bold Italic, Script, Double-struck, Mono, Small Caps, Wide, Circled, Squared, Upside Down and Strikethrough. Nothing about a keyboard changes how a receiving app counts what arrives; that math belongs to Unicode and to whatever you are typing into. What Kibo does do is map every letter it can and leave the rest as ordinary legible characters instead of a blank box, and none of it needs Full Access — that switch is read only by the Copy word, Copy line and Paste buttons on its toolbar. It is free to download.
Frequently asked questions
Does bold or fancy text really count as two characters?
For the styles built from Unicode’s Mathematical Alphanumeric Symbols block — Bold, Italic, Bold Italic, Script and Double-struck — yes, in any system that counts text in 16-bit units. Each visible letter needs two of those units instead of one, so a counter working that way reads it as two characters.
Why did my text message split into two texts when I used fancy letters?
An SMS switches from a 160-character limit to a 70-character limit the moment it contains any character outside the older 7-bit alphabet, which includes every fancy-text letter and most emoji. A short message in fancy text can cross that lower limit and get sent as two segments instead of one.
Which fancy text styles do not have this problem?
Small Caps and Wide text map to characters that already sit inside the Basic Multilingual Plane, so they cost nothing extra. Strikethrough does add length, but for a different reason — a combining mark riding on every letter rather than a separate swapped-out character.
Try it on your own keyboard
Kibo is a free custom keyboard for iPhone with real mechanical key sounds, a wardrobe of themes and RGB backlight effects. No account, no ads, and it works with Full Access left off.