Bluesky has no built-in bold or italic text. Posts are plain text: the app turns mentions, links and hashtags into clickable elements, but there are no formatting buttons and Markdown isn't supported. To get a bold or italic look in a post, display name or bio, you paste Unicode styled characters instead, and it's best to keep them to a word or two.
Plenty of guides say Bluesky has a formatting toolbar. It doesn't. The AT Protocol, which Bluesky runs on, marks up post text with "facets", and it defines only three kinds: mentions, links and hashtags. A feature request for bold, italic and other formatting has been open on Bluesky's GitHub since December 2024. Until that changes, any bold text you see on Bluesky is made of special characters, not formatting.
What Bluesky posts support
| Feature | Built in? | How it works |
|---|
| Mentions | Yes | Type @ and a handle |
| Links | Yes | Paste a URL and it becomes clickable |
| Hashtags | Yes | Type # and a tag |
| Line breaks | Yes | Press Enter |
| Bold and italic | No | Paste Unicode styled characters |
| Strikethrough and underline | No | Paste Unicode combining characters |
Markdown (**bold**, _italic_) | No | The symbols show up exactly as typed |
| Headings, lists, code blocks | No | Use line breaks and symbols such as • or → |
Line breaks are the most useful of these. Short lines, a blank line between ideas and a simple list made from • or → do more for a post's readability than any font.
How to make bold or italic text on Bluesky
- Open the Bluesky text formatter and type your text.
- Pick a style, such as bold, italic, bold italic, script or monospace.
- Copy the result and paste it into your post, display name or bio.
The result is made of characters from Unicode's Mathematical Alphanumeric Symbols block. "𝗕𝗼𝗹𝗱" isn't the word "Bold" with formatting applied; each letter is a different character that happens to look bold. That's why it survives copy and paste into a plain-text app like Bluesky, and it's also where the trade-offs come from.
Where styled text works, and how it counts
| Field | Styled text? | Limit |
|---|
| Posts and replies | Yes | 300 characters (graphemes) |
| Display name | Yes | 64 characters (graphemes) |
| Bio | Yes | 256 characters (graphemes) |
| Handle | No | A domain name in plain ASCII |
Bluesky counts graphemes, meaning what a reader sees as one character, so each styled letter counts as one, just like a plain letter. On X, by contrast, each of these letters counts as two. Behind the scenes a post is also capped at 3,000 bytes. A styled letter takes 4 bytes, so a fully styled post still fits, but "glitch" text that stacks many combining marks on every letter can hit that cap before it reaches 300 characters. Our Bluesky character limit guide covers the details.
Your handle is a different matter. It's a domain name, like yourname.bsky.social, and handles can only contain ASCII characters, so there's no way to style it.
The trade-offs
- Screen readers. Depending on the software, styled letters may be skipped, read one at a time or announced as math symbols, so people who rely on a screen reader can miss your point. We explain more in how screen readers handle fancy text.
- Search. A styled word is a different string from the plain word, so a search for the plain word may not find your post, and a styled display name may be harder to find.
- Rendering. Bold and italic sans-serif display on almost every modern device, but rarer styles, such as fraktur or double-struck, can show as empty boxes on older phones.
- Hashtags and mentions. Keep them plain. A styled hashtag isn't the same tag, so it may not reach the people who follow the plain one.
A good rule: style a word or a short phrase, never a whole post, and never the words you want people to find.
Tips for readable posts without special characters
- Lead with the point. The first line decides whether people keep reading.
- Use line breaks. In the feed, the official app only cuts off posts that run to 25 lines or more, so you have room to space things out.
- Make lists with symbols. Start lines with •, → or a number and a period.
- Thread long ideas. Split anything over 300 characters into a thread, and make the first post work on its own.
- Count before you post. Paste your draft into our character counter, which counts graphemes the way Bluesky does. It counts pasted links at full length, while Bluesky shortens long links, so it errs on the safe side.
Will Bluesky add bold and italic?
Possibly, but there's no announced date. The feature request on Bluesky's GitHub has been open since December 2024. Doing it properly would likely mean new facet types in the AT Protocol, so that other apps built on it could show the formatting too. We'll update this guide if that changes.
The short version
Bluesky has no bold, italic or Markdown. Posts support mentions, links, hashtags and line breaks. For a bold or italic look, paste Unicode styled characters from a text formatter, keep them to a word or two, and leave hashtags, handles and keywords plain. For more on the technique across apps, see how to format bold text.