Skip to content
espt

Add to your Home Screen

  1. Tap the Share button in Safari's toolbar.
  2. Scroll down and tap Add to Home Screen.
  3. Tap Add. The generator opens full-screen and works offline.

Twitter (X) Fonts

These Twitter fonts turn a post, bio or display name into bold, italic or cursive Unicode letters for X. Tap Copy and paste it, but check the weighted count first, because most styled letters count as two characters.

  • Free
  • No sign-up
  • Nothing to install
  • Runs in your browser

83 styles shown

By Maya Chen, lettering designer and type educator · Checked by Jordan Hale · · How we review content

Key facts

  • On X, ordinary Latin letters count 1 toward the 280 limit, while bold, cursive, bubble, wide and most other styled letters count 2, so about 140 styled letters fit (twitter-text config).
  • An X username is up to 15 characters of letters, numbers and underscores, so styled letters are rejected there (X Help Center).
  • An X display name holds up to 50 characters and a bio up to 160 (X Help Center), and styled letters and emoji work in both.
  • X has not said whether styled letters count double in the display name as they do in posts.
  • Screen readers can announce a styled letter by its technical name, such as mathematical sans-serif script t, or skip it, so keep key information in plain text.

Where fancy letters work on X (Twitter)

Each X (Twitter) profile field has its own rules. Open Compatibility & details on any style above to see whether your text fits.

  • Username (@handle)No

    Limit: 15 chars

    Up to 15 characters: letters, numbers and underscores only (X Help Center).

  • Display nameYes

    Limit: 50 chars

    Up to 50 characters (X Help Center). Styled letters and emoji work; X has not said whether styled letters count double here as they do in posts.

  • BioYes

    Limit: 160 chars

    Up to 160 characters (X Help Center). Styled text works.

  • Posts and repliesYes

    Limit: 280 chars

    Weighted count: ordinary Latin letters count 1, while bold, cursive, bubble, wide and most other styled letters count 2, so about 140 styled letters fit (twitter-text config). Premium accounts may have higher limits.

Sources: X Help Center (username rules), twitter-text v3 config, X Help Center (changing your handle), X Help Center (customising your profile), Kent C. Dodds on screen readers

These Twitter fonts turn your post, bio or display name into bold, italic or cursive Unicode letters that you copy and paste into X (Twitter). Styled letters count double toward the 280-character limit, and the page shows exactly how that adds up, with a worked example.

How to use Twitter fonts

  1. Type or paste your text in the box at the top. Every style updates as you type.
  2. Pick a style. Bold and italic read best in a post; remember each styled letter counts as two.
  3. Tap Copy on the row you like, then paste it into your post, bio or display name.

Why styled letters count double on X

X doesn’t count characters the way you might expect. Its counting rules are published in the open-source twitter-text library, and the current configuration (version 3) sets:

  • a maximum weighted length of 280,
  • a default weight of 2 for every character,
  • a weight of 1 only for code points in a short list of ranges: U+0000–U+10FF (Latin, Greek, Cyrillic, Hebrew, Arabic, Indic scripts and more) plus a few punctuation ranges (U+2000–U+200D, U+2010–U+201F, U+2032–U+2037),
  • emoji sequences counted as 2, however many code points they contain.

Bold, italic, cursive and gothic letters live in the Mathematical Alphanumeric Symbols block at U+1D400 and above. Bubble letters are at U+24B6. Wide (vaporwave) letters are at U+FF21. All of those are far above U+10FF, so every one of them costs two characters. Spaces and ordinary punctuation in between still cost one.

The practical upshot: a fully styled post holds roughly 140 letters, not 280.

A worked example: “Launch day”

We ran the phrase Launch day (nine letters and a space) through X’s published weighting rules in each style:

Style What you paste Code points X counts it as
Plain Launch day 10 10
Bold sans 𝗟𝗮𝘂𝗻𝗰𝗵 𝗱𝗮𝘆 10 19
Bold serif 𝐋𝐚𝐮𝐧𝐜𝐡 𝐝𝐚𝐲 10 19
Bold cursive 𝓛𝓪𝓾𝓷𝓬𝓱 𝓭𝓪𝔂 10 19
Bubble Ⓛⓐⓤⓝⓒⓗ ⓓⓐⓨ 10 19
Vaporwave (wide space included) Launch day 10 20
Small caps ʟᴀᴜɴᴄʜ ᴅᴀʏ 10 15
Strikethrough L̶a̶u̶n̶c̶h̶ d̶a̶y̶ 19 19

Three things are worth noticing:

  • Every letter-replacing style doubles the letters but not the space. 9 letters × 2 + 1 space = 19.
  • Small caps is cheaper. ʟ, ɴ, ʜ and ʏ sit in the IPA Extensions block (U+0250–02AF), which is inside X’s weight-1 range. ᴀ, ᴜ, ᴄ and ᴅ come from Phonetic Extensions at U+1D00, which isn’t. So small caps lands between plain and bold.
  • Strikethrough costs the same as bold, for a different reason. The letters stay plain (weight 1), but each gets a combining stroke U+0336, which is also in the weight-1 range. Two code points per letter at weight 1 each.

Two bars comparing how much of the post limit on X is used by a short phrase in plain letters versus the same phrase in styled letters.

What that means for a whole post

Take a 51-character post: Launch day: the new app is live. Download it today.

Version X weight Room left of 280
All plain 51 229
Only “Launch day:” in bold sans 60 220
Everything in bold sans 90 190

Bolding the hook costs nine characters. Bolding the whole post costs 39 and makes it harder to read. That’s why the generator above shows an X count on every style under Compatibility & details.

We computed these figures from X’s published configuration, which is the reference X’s own apps are built on. If X changes its counting, the numbers will change with it.

Numbers, emoji and threads

The same rule catches people out in places they don’t expect:

  • Thread numbering. 1/ costs 2. A bold 𝟭/ costs 3, because the bold digit is a math symbol. Across a ten-post thread it hardly matters, but in a post that is already tight, plain numbers are free space.
  • Emoji. Every emoji counts as 2, including multi-part ones like family or flag emoji that contain several code points. A row of five emoji is 10 characters.
  • Curly quotes and dashes. ’ “ – — fall in X’s weight-1 punctuation ranges, so typographic punctuation costs no more than straight quotes.
  • Bullets. • (U+2022) is just outside those ranges and counts as 2. A hyphen costs 1.

If a post is a character or two over, swap styled digits, bullets or one emoji for plain equivalents before cutting words.

Where you can use styled text on X

  • Posts and replies. The best use is a short bold or italic hook at the start, or one emphasised phrase. Keep hashtags, @mentions and links plain: a styled @mention won’t link to anyone, and a styled hashtag is at best a different tag from the plain one people follow.
  • Display name. Accepts styled letters and emoji, up to 50 characters according to X’s Help Center. A styled name doesn’t affect your @handle, so people can still find and mention you.
  • Bio. Up to 160 characters. A bold label line plus a plain description works well, the same pattern as on Instagram.
  • @handle. Letters, numbers and underscores only, 15 characters max. No styling possible.

How to post with bold text

  1. Write your post here first, or just the words you want to emphasise.
  2. Copy bold sans for a look that sits close to X’s own sans-serif interface, or bold serif for a more traditional weight.
  3. In the X composer, paste the styled words and type the rest normally.
  4. Watch the circular counter in the composer, which reflects X’s weighted count rather than a simple letter count.
  5. Before posting, read the post once out loud as a screen reader might, and make sure the plain words carry the meaning by themselves.

Styles that suit X

Style Example Use it for
Bold sans 𝗟𝗮𝘂𝗻𝗰𝗵 𝗱𝗮𝘆 Hooks, headings inside threads, key numbers (𝟱𝟬% 𝗼𝗳𝗳)
Italic sans 𝘓𝘢𝘶𝘯𝘤𝘩 𝘥𝘢𝘺 Titles of books, films and papers; quoting a phrase
Bold italic sans 𝙇𝙖𝙪𝙣𝙘𝙝 𝙙𝙖𝙮 Strong emphasis on one or two words
Typewriter 𝙻𝚊𝚞𝚗𝚌𝚑 𝚍𝚊𝚢 Code names, commands, technical terms
Strikethrough L̶a̶u̶n̶c̶h̶ d̶a̶y̶ Jokes and corrections, such as “meeting at n̶o̶o̶n̶ 3pm”

Gothic, bubble and glitch styles are fun in a display name but heavy going in a post. For more choice, the bold text generator, italic text generator and strikethrough generator each show their full sets.

The accessibility problem, demonstrated on X

The best-known demonstration of fancy text and screen readers happened on Twitter. In January 2019, developer Kent C. Dodds posted a video of VoiceOver reading a tweet in which half the words were written in styled letters, to show what such posts sound like to blind users. In a follow-up he pointed out that the screen reader was doing its job correctly: “those are actual mathematical characters”. The UK charity Scope gives an example of the result: a styled “t” can be announced as “mathematical sans-serif script t”, or skipped entirely.

On X that matters more than elsewhere, because posts are the content, not decoration. Practical rules:

  • Style a few words, never the full post.
  • Never style information people need: dates, prices, instructions, names of people or products.
  • Prefer images with alt text for heavily designed text.

Our fancy text accessibility guide explains what different screen readers do, and the character limits guide compares how X’s weighting differs from the way other platforms count.

Style only a few words, because Twitter fonts use up the character count twice as fast and can be hard for screen readers.

Frequently asked questions

Basics

How do you bold text on Twitter?
X has no bold button in the standard post composer, so people paste bold Unicode letters. Type the words above, copy the bold sans or bold serif result, and paste it into your post. Each bold letter counts as two characters toward the 280 limit, so bold a few words rather than the whole post.
What is the best Twitter font for a post?
Bold sans is the best for a short hook, since it sits close to X's own sans-serif interface, and italic sans suits titles and quoted phrases. Style a few words and leave the rest plain. A bold hook such as 𝗟𝗮𝘂𝗻𝗰𝗵 𝗱𝗮𝘆 costs 19 characters instead of 10.

Where it works

Can I use fancy fonts in my X username?
No. Your @handle allows only letters, numbers and underscores, up to 15 characters. Styled letters belong in your display name, the bold name above your handle, which accepts Unicode and emoji. Your handle stays the searchable, mentionable part of your identity.
Do X Premium users get a different character limit?
X offers longer posts to paid subscribers, but the exact limits have changed over time and are not covered by our sources, so check X's current Premium page. The weighting rule on this page, where styled letters count double, comes from X's published counting library and applies to the standard 280-character post.
How long can an X display name and bio be with fancy fonts?
The X Help Center gives 50 characters for a display name and 160 for a bio, and styled letters and emoji work in both. X has not said whether styled letters count double in the display name as they do in posts, so check the counter in the editor.
Can I use styled @mentions and hashtags on X?
No, keep them plain. A styled @mention will not link to anyone, and a styled hashtag is at best a different tag from the plain word. Style the words around the mention or hashtag instead, and keep links plain too.

How it works

Why does my styled tweet say it is too long?
X weights characters. Its published twitter-text rules count most characters above the basic Latin and European ranges as two, and styled letters come from those higher ranges. A 140-letter post in bold is already at 280. Spaces, plain punctuation and normal letters still count as one.
Which Twitter font counts as fewer characters?
Small caps is the cheapest: some of its letters (ʙ ɢ ʜ ɪ ʟ ɴ ʀ ʏ) come from a block X counts as one, so "Hello" in small caps weighs 7 instead of 10. Upside-down text also weighs about the same as plain text. Bold, italic, cursive, bubble and wide letters all count two.
How many styled letters fit in an X post?
About 140. X's twitter-text rules give most characters a weight of 2 and only a short list of ranges a weight of 1, and bold, cursive and bubble letters sit outside them. So a fully styled post holds roughly half the 280 limit. Spaces still count as 1.
Do emoji and bullets count extra on X?
Yes. Every emoji counts as 2, including multi-part ones, so a row of five emoji is 10 characters. The bullet • also counts as 2 because it sits just outside the weight-1 ranges, while a hyphen counts 1. Curly quotes and dashes cost no more than straight ones.
Do styled numbers in a thread cost more characters?
Slightly. Plain 1/ costs 2, but a bold 𝟭/ costs 3, because the bold digit is a math symbol. Across a ten-post thread it hardly matters, but in a post that is already tight, plain numbers are free space. Swap them before cutting words.

Tips & limits

Does bold Unicode text hurt engagement on X?
X has not published anything on it. Two effects are known: screen readers may read each styled letter by its technical name, which annoys or excludes some followers, and search is less likely to match styled words. A bold hook followed by plain text avoids both problems.
Should I use bold Unicode for important details on X?
No. Never style dates, prices, instructions or the names of people and products. Screen readers may read styled letters by their technical names or skip them, and X search is less likely to match styled words. Put the essentials in plain text and style only the hook.
How can I fit more into an X post that uses styled text?
Style fewer words, since bolding only a hook such as Launch day: costs nine extra characters while bolding the whole post costs 39. Try small caps, which weighs less than bold, or swap styled digits, bullets or one emoji for plain equivalents before cutting words.