How to Use Bold and Italic Text in Tweets and Your X Bio

Xholic AI TeamUpdated October 7, 2026
Xholic's Twitter Font Generator showing Ship small, ship often in Bold, Italic, Sans bold, Monospace and Fullwidth, each with its weighted character count and a Copy button.
On this page

Share

You want one line of a post to stand out, or your role in your display name to read as a label, and X gives you no bold button. That’s not an oversight you can fix in settings. For regular posts, display names and bios, X stores plain text only, and every reader sees it in X’s own typeface.

The workaround everyone uses is Unicode: a set of characters that look like bold or italic letters but are separate symbols. This guide shows how to make them with Xholic’s free Twitter font generator, how to paste them into a post, name or bio, and, just as important, what they cost you in character count, search and accessibility.

If you’re here to find out which typeface X itself uses (it’s Chirp), read what font X uses instead. For a comparison of other generators, see the other Twitter font generators table.

Why X has no bold button for most posts

X shows every post, name and bio in its own font, Chirp. You can’t change it for your readers, and there’s no formatting stored with a standard post: it’s a string of characters and nothing else.

There is one exception. X Premium subscribers can format text as bold or italic in the post composer, and Articles (for Premium+) support richer formatting. Those are real formatting, so they don’t have the drawbacks below. They don’t apply to display names or bios, and free accounts don’t get them at all. Everywhere else, Unicode is the only option.

How Unicode “fonts” work

Unicode, the standard every phone and computer uses for text, includes several complete alphabets that were added for mathematical notation: mathematical bold, italic, sans-serif bold, monospace and more. Each of these letters is its own character with its own code. 𝐀 (mathematical bold capital A) is no more related to A, as far as software is concerned, than the letter Q is.

The generator swaps each plain letter for the matching character from one of those alphabets. Five styles are offered:

Style What it changes What stays plain
Bold A–Z, a–z and 0–9 to serif bold Punctuation, spaces, accented letters, emoji
Italic A–Z and a–z to serif italic Digits, punctuation, spaces, accented letters
Sans bold A–Z, a–z and 0–9 to bold without serifs Punctuation, spaces, accented letters, emoji
Monospace A–Z, a–z and 0–9 to typewriter letters Punctuation, spaces, accented letters, emoji
Fullwidth All printable ASCII, including punctuation and spaces, to wide forms Accented letters, emoji, other symbols

Italic has one quirk. Unicode has no italic small “h” in the math alphabet, because the character ℎ (the Planck constant) already existed, so the generator uses that instead. It looks right and counts the same.

The generator deliberately leaves out script, Fraktur (gothic) and double-struck styles. Those alphabets have gaps that Unicode fills with characters from a different block, and they’re harder to read at feed size.

How to add bold or italic text to X, step by step

Here is the whole tool. The numbers match the steps below.

Annotated Twitter Font Generator: 1 the Your text field containing Ship small, ship often; 2 the Bold style label and preview; 3 the Sans bold card showing 40 weighted characters; 4 the Sans bold Copy button showing Copied.
Every style updates as you type. Here, Sans bold has just been copied.

Step 1: Type only the part you want styled

Enter your text in Your text (1). It starts with the sample “Build in public”; select it and type over it. There’s no length limit in the field.

Type just the words that should stand out, not the whole post. You’ll paste the styled phrase into your draft and write the rest normally, which keeps most of the post readable and searchable.

Step 2: Compare the five styles

All five previews (2) update on every keystroke. Read them at the size they’ll appear on X, not just in the tool: italic and monospace look lighter in a busy feed than they do here, and fullwidth spreads a short word across a lot of space.

Step 3: Check the weighted count

Under each preview (3) is its weighted character count, calculated with twitter-text, the open-source library X publishes for counting post length. “Ship small, ship often” is 22 characters as plain text, 40 in Bold, Italic, Sans bold or Monospace, and 44 in Fullwidth. The next section explains why.

Step 4: Copy the style you want

Click Copy (4) on a style. The button changes to Copied for a moment. If it says Copy blocked, your browser refused clipboard access; select the preview text and copy it by hand instead.

Step 5: Paste it into X

Paste into the post composer, your display name or your bio. Then check it in the X app on your phone before you publish or save, because how styled letters look depends on the fonts on each device (more on that below).

The generator runs entirely in your browser. Your text isn’t uploaded or saved.

What styled text costs in characters

X doesn’t count characters one by one. It gives each character a weight, and anything outside a short list of ranges (basic Latin, Greek, Cyrillic, Arabic and other common scripts) weighs 2. The math alphabets sit far outside those ranges, so every styled letter or digit counts as 2. We checked this against twitter-text 3.1.0, the version the tool uses.

The generator with Café opens 9am – Mon to Fri! as input. Bold, Sans bold and Monospace show 47 weighted characters, Italic shows 46 because the 9 stays plain, and Fullwidth shows 54. The é stays unstyled in every style.
The plain sentence is 28 characters. Accents, punctuation and, in Italic, digits stay plain and cost 1.

The example above shows how the count builds up:

  • Styled letters and digits cost 2 each. Spaces and punctuation stay plain in four of the styles, so they still cost 1. That’s why a sentence comes out a little under double.
  • Italic has no digits. The “9” stays plain, so Italic is 46 while Bold is 47.
  • Fullwidth styles everything. Spaces, commas and the exclamation mark all become wide characters at 2 each, so it’s always the most expensive.
  • Accented letters aren’t converted. The “é” in “Café” stays a normal é, which looks slightly off next to bold letters. If a word has accents, check that the mix still looks intentional.

For a 280-character post, one styled headline of 30 letters takes about 60. That’s affordable for a hook; a fully styled post isn’t. Our character counter guide covers the rest of X’s weighting rules, and you can paste the finished draft into the Twitter character counter to check it.

Names and bios have their own limits: 50 characters for a display name and 160 for a bio, according to X’s limits. X doesn’t document whether those fields use the same weighting as posts. If a name or bio is refused when it looks short enough, the styled letters are the likely cause; shorten the styled part first.

Where styled text breaks

Because these are different characters rather than formatting, several things that work with plain text stop working.

Screen readers. Assistive software doesn’t treat 𝗦𝗵𝗶𝗽 as the word “Ship”. Depending on the reader and device, it may announce each character by its Unicode name (“mathematical sans-serif bold capital S”), spell it letter by letter, or skip it. A styled display name can become very long to listen to every time someone hears your posts read out.

Search. X search, and search engines in general, generally won’t match a styled word to the plain one. If your name is styled, people searching for it in plain letters may not find you, and a styled keyword in a post won’t help it show up for that keyword.

Mentions, hashtags and links. A styled @handle is just text: twitter-text doesn’t recognise it as a mention, so nobody is tagged. A styled hashtag is treated as a different tag from the plain one, so it won’t join the conversation you meant. A styled link or domain won’t be linked. Keep all three in plain text.

Missing glyphs. When the font on screen doesn’t include these alphabets, the device draws them with whichever installed font does. They usually look fine, but the exact shape varies by device, and some older Android versions and stripped-down fonts show empty boxes instead.

Copying back out. When someone copies your styled text into a document or a search box, they get the math characters, not normal letters. Spell-checkers and translation tools treat them as unknown symbols.

Which styles are safest

From most to least practical on X:

  1. Sans bold. The closest match to X’s own sans-serif font, so it reads as emphasis rather than a different typeface. The best choice for a hook, a section label or a word in your name.
  2. Bold. Clear and well supported, but the serif shapes look like a different font next to Chirp. Good for a title-like first line.
  3. Italic. Fine for a book or show title. It’s lighter than bold, so it adds less emphasis than you might expect in the feed.
  4. Monospace. Useful for code, command names or version numbers. Avoid it for whole sentences.
  5. Fullwidth. A visual effect, not emphasis. It’s the most expensive in characters and the hardest to read. Use it for a short decorative word at most.

Here’s what restrained use looks like: a sans bold first line and one bold label, everything else plain.

A dark-theme X post mockup from the fictional account Leo Park, @leoparkbuilds. The first line, Week 12 of building in public, and the label Next are in sans bold Unicode; the rest of the post is plain text.
A mockup made with the Fake Tweet Generator. Two styled phrases are enough to give the post structure.

A few rules that keep styled text helpful:

  • Style labels, not information. Put the hook or a section label in bold; keep prices, dates, names and instructions plain so everyone can read and search them.
  • One style per post or profile. Mixing bold, italic and monospace looks noisy.
  • Keep your display name mostly plain. If you style anything, style a short role or tag after your name (“Leo Park | 𝗦𝗮𝗮𝗦 𝗳𝗼𝘂𝗻𝗱𝗲𝗿”), not the name people search for.
  • Never style a whole post or bio. It doubles the length and makes it unreadable for anyone using a screen reader.

To preview a styled post before you publish it, paste it into the Fake Tweet Generator, which renders it in an X post layout.

Troubleshooting

The button says “Copy blocked”. Your browser didn’t allow the page to write to the clipboard. Select the styled text in the preview and copy it with your keyboard or the context menu, or allow clipboard access for xholic.ai.

Some letters didn’t change. Only plain A–Z, a–z and 0–9 are converted (Italic has no digits, so numbers stay plain). Accented letters, letters from other alphabets, emoji and most symbols stay as they are, in every style.

My post is suddenly over the limit. Styled letters count as 2. Reduce the styled part to the few words that need emphasis, or switch the rest back to plain text.

Someone sees boxes instead of letters. Their device lacks a font with those characters. You can’t fix it on their side, which is another reason to keep anything important in plain text.

My mention or hashtag doesn’t link. It was styled. Retype the @handle or #hashtag in plain letters.

Frequently asked questions

How do I make text bold on Twitter?

On a standard post, name or bio, X has no bold option. Type the text into the Twitter Font Generator, copy the Bold or Sans bold version and paste it into X. X Premium subscribers can also use the bold button in the post composer, which is real formatting.

Can I change the font on X?

No. X shows all text in its own font, Chirp, and readers’ devices decide how it looks. Unicode styles change the characters, not the font, which is why they show up for everyone.

Can I use bold text in my X bio and display name?

Yes. Styled characters work in display names, bios and posts. Your @username can’t use them; it only accepts letters, numbers and underscores.

Does bold text count as more characters on X?

Yes. Every styled letter or digit counts as 2 under X’s weighting, while spaces and most punctuation stay at 1. Each style in the generator shows its exact weighted count.

Are Unicode fonts bad for accessibility?

They can be. Screen readers may read each styled letter by its Unicode name or skip it. Use them for short labels or a single hook, never for information people need.

Will styled text hurt my searchability?

It can. Search on X and elsewhere generally won’t match styled letters to plain words, so keep your name, keywords, hashtags and handles in plain text.

Make the words worth the bold

Xholic AI drafts posts in your voice, schedules them for your best hours, and shows which ones bring in followers.

Live demo: no sign-up or login needed · takes about 2 minutes