๐ŸŽ‰ 285 named, tested styles โ€” every one verified against Unicode. No filler, no fake counts.
Home โ€บ Blog โ€บ Accessibility
Unicode Explained

Character Limits on Every Platform (and Why Styled Text Eats Them)

July 21, 20268 min readBy Fasih Ullah
A plain word and the same word styled, each with a progress bar showing how much of a 150 character bio limit it consumes

You paste a styled bio into Instagram and the field cuts you off mid-sentence. The visible text is nowhere near the 150 characters the platform advertises. Nothing is broken, and you have not miscounted.

Every platform counts characters, not letters. For plain text those are the same thing. For styled text they are not, and the gap is large enough to cost you half your bio before you notice.

This guide covers the character limit on every field people actually run into, why styled text consumes roughly double, and the specific styles that will exhaust a short field entirely.

Character limits on every major platform

These are profile fields rather than post fields, because profile fields are where the character limit bites hardest and where styled text is most common. Platforms adjust these occasionally, so treat them as current at the time of writing and verify anything load-bearing against the platform's own help pages.

Table of character limits for Instagram, TikTok, X, Discord, LinkedIn and YouTube profile fields with the styled-text equivalent for each
The right-hand column is the number that actually matters if you intend to style the field.

Instagram

The Instagram bio character limit is 150, and it counts everything: letters, numbers, spaces, punctuation, emoji and line breaks. Usernames are capped at 30 and restricted to letters, numbers, periods and underscores, which means styled characters are rejected outright in that field rather than merely expensive.

TikTok

The TikTok bio character limit is the one number here worth flagging as uncertain. It has long been 80, and most current sources still report 80, but there are recent reports of it being raised to 160 for some accounts. Until that settles, write to 80 โ€” a bio that fits 80 works everywhere, while one written for 160 may be truncated without warning.

X (Twitter)

The Twitter character limit people usually mean is the 280 on free-tier posts. The bio is separate at 160, and the display name at 50. Those two are the fields where styled text usually appears, and they are considerably tighter than the post limit that gets all the attention.

Discord

The Discord character limit for the About Me section is 190, and this does not increase with Nitro โ€” Nitro raises the message limit from 2,000 to 4,000 but leaves profile fields alone. Usernames and display names are both capped at 32.

Discord is the platform where styled text is most heavily used, and the 32-character display name is where people most often run out of room unexpectedly.

Why styled text costs more than it looks

A plain letter such as a is one character. A styled letter such as 𝕖 is also one character in Unicode terms โ€” it is U+1D556, a single codepoint with its own identity in the standard.

So on paper they are equal. The problem is that most platforms do not count codepoints. They count UTF-16 code units, which is how JavaScript and a great many databases measure the length of a string internally. The Unicode Consortium documents the encoding forms and their boundaries in the standard itself.

Characters below U+FFFF occupy one unit. Characters above it occupy two. Nearly every styled alphabet โ€” bold, italic, script, fraktur, double-struck, sans variants โ€” lives in the Mathematical Alphanumeric Symbols block at U+1D400, which is above U+FFFF. That single fact is the entire mechanism.

A fully styled bio consumes roughly twice the budget of the same words in plain text, because each styled letter is stored as two units rather than one.

In practice a 150-character Instagram bio holds about 150 plain letters or roughly 75 styled ones. The field has not shrunk. The letters have simply become more expensive.

Three cards comparing the storage cost of a plain letter, a styled letter and a letter with combining marks stacked on it
The same visible letter, costing one, two, or six units depending on which Unicode block it comes from.

Emoji behave the same way

This is not unique to styled text. Most emoji also sit above U+FFFF and cost two units each. Emoji built from sequences โ€” flags, skin-tone variants, family groupings โ€” are assembled from several codepoints joined together and can cost six or more units for one visible symbol.

If you have ever wondered why a bio with a handful of emoji fills up faster than expected, this is why. The mechanism is identical.

Combining marks are a different order of magnitude

If you use glitch, distorted or "cursed" styles, the arithmetic stops being a doubling and becomes something much worse.

These styles are built from U+0300 Combining Diacritical Marks, and they work differently from every other style. They do not replace your letters. They keep the original letter and stack additional marks on top of it. One visible character might be a base letter plus four, five or six combining marks, each of which is a separate character counting against your limit.

A single heavily decorated letter can consume seven or eight units on its own. A short glitched word can exhaust an 80-character TikTok bio completely. This is exactly why those styles look fine in a chat message, where limits are generous, and become unusable in a profile field.

A working budget

Plain text: one unit per letter. Most styled text: two units per letter. Combining-mark styles: five to eight units per visible letter. If you do not know which block a style uses, assume two and leave headroom.

When the counter and the field disagree

A detail that causes real confusion: the live character counter you see while typing is not always the thing that decides whether your text is accepted.

The counter usually runs in the browser or app. The acceptance check usually runs on the server. If those two measure differently โ€” one counting codepoints, the other counting UTF-16 units โ€” the counter can read 140 of 150 while the save silently truncates.

You will most often notice this as text that appears to save correctly and then comes back shortened after a refresh. The fix is not to argue with the counter. It is to leave headroom: if you are within ten characters of a limit using styled text, assume you are over it.

Truncation can break a character in half

There is a second failure worth knowing about. When a platform truncates at a fixed number of units, it can cut a two-unit character down the middle. You are left with half a character, which no font can draw.

The result is a visible replacement symbol or an empty box at the end of your bio rather than the clean cut-off you would expect. Your text does not simply end early โ€” it ends with visible damage. If you want to know what those boxes actually are, why fancy text shows as boxes covers the four different things a box can mean.

The costs that are not about space

Running out of characters is the visible problem. Two others matter more and are easier to miss.

Styled usernames cannot be typed

A styled username is not on anyone else's keyboard. Someone who wants to tag you, search for you, or tell a friend your handle has to copy it from somewhere first. Many will not bother.

This is why the platforms with the tightest username limits are also the worst places to style them. Instagram's 30 characters and Discord's 32 are generous for plain text and punishing for text nobody can reproduce. Instagram sidesteps the issue by rejecting styled characters in usernames entirely; Discord allows them in display names, where the cost is discoverability rather than rejection.

Search stops finding you

Search boxes match characters, not shapes. Someone typing your name in plain letters will not match a styled version of the same name, because as far as the system is concerned those are entirely different strings. This applies to platform search, site search, and search engines indexing your profile.

The full picture of what styled text costs beyond character count is in what screen readers actually read, which covers the accessibility side of the same underlying property.

How to fit styled text into a tight field

None of this means avoid styled text. It means spend the budget deliberately rather than discovering the limit by hitting it.

Style one word, not the whole field

The single most effective technique. Style your name or one accent word and leave the rest plain. You get essentially the same visual distinctiveness at a fraction of the cost, and the plain half stays searchable and readable.

A 150-character Instagram bio with one styled name and plain supporting text uses maybe 20 units on styling. The same bio styled throughout uses 300 and does not fit.

Prefer blocks that cost less

Not every styled character sits above U+FFFF. A few useful ones do not:

  • Small caps draw largely from Latin Extended ranges below U+FFFF, so many of those characters cost one unit rather than two.
  • Circled letters at U+24B6 are below the boundary and cost one unit each.
  • Fullwidth characters at U+FF00 are also below it, which makes them unusually efficient as well as unusually well supported.

Fullwidth is the standout here. It costs one unit per character, renders almost everywhere because East Asian language support requires it, and looks distinctly different from plain text. The catch is that each character is visually wide, so a fullwidth bio looks longer even though it costs less.

Count before you paste, not after

If a field matters, test it before committing. Paste your text, save, refresh the page, and confirm it survived intact. The refresh is the important step โ€” truncation frequently only becomes visible after the page reloads.

Bios

Style one accent word and keep the rest plain. Budget two units per styled character and leave ten characters of headroom.

Usernames

Keep them plain. The limit is tightest here and the cost of being untypeable is highest. Use the display name for styling if the platform has one.

Glitch styles

Fine in messages, unusable in profile fields under about 200 characters. One word can consume the entire budget.

Worth checking before you commit: platforms change these numbers, usually without announcement. If a character limit genuinely matters for something you are building or publishing, verify it against the platform's own help documentation rather than any third-party table, including this one.

Why the limits exist at all

A reasonable question: if a bio is just text, why cap it at 150 characters rather than 500?

Part of the answer is layout. A profile header has a fixed amount of room on a small screen, and a bio that runs to ten lines pushes everything below it out of view. The limit is a design decision as much as a technical one.

Part of it is storage and indexing. Profile fields are read constantly โ€” every time anyone views your profile, appears in a search result, or is suggested to another user. Short, fixed-length fields are cheap to store and fast to index at that scale.

And part of it is abuse prevention. Long, unconstrained profile fields are attractive to spammers, and a tight limit reduces how much can be crammed into one. This is also why some platforms restrict which characters a username may contain rather than merely how many โ€” Instagram's letters-numbers-periods-underscores rule exists to keep handles typeable and unambiguous, and it happens to exclude styled characters as a side effect.

None of these are likely to loosen. If anything, the trend across platforms has been to keep profile fields short while expanding post and message limits, which is the opposite of what would help styled text.

The short version

  • Instagram bio 150, username 30. TikTok bio 80 (possibly 160 now; plan for 80). X bio 160, display name 50, post 280. Discord About Me 190, username and display name 32 each.
  • Platforms count UTF-16 units, not visible letters.
  • Most styled letters live above U+FFFF and cost two units instead of one, so expect roughly half your usual capacity.
  • Combining-mark styles cost five to eight units per visible letter and will exhaust short fields on their own.
  • Fullwidth, circled and many small-caps characters sit below U+FFFF and cost only one unit.
  • The on-screen counter can disagree with the server. Leave headroom near any limit.
  • Truncation can split a two-unit character and leave a visible broken symbol.

If you want styles that stretch a tight character limit furthest, the small text generator and bold text generator are the practical starting points, and font styles lists every option with the Unicode block behind it.

Put It Into Practice

285 named, tested styles โ€” with an honest note wherever one has limits.

Open the generator โ†’