Bluesky has a built-in rich text toolbar that lets you bold, italicize, and strikethrough text directly in posts. No Markdown syntax, no third-party apps, no workarounds required for those three styles. Select any text in the compose box and a formatting popup appears. That puts Bluesky ahead of most social platforms when it comes to native text formatting.
But the toolbar only covers posts. Your display name, your bio, and anywhere outside the compose box are still plain text fields. And there are formatting options Bluesky simply doesn't offer at all β no headings, no code blocks, no bullet lists. This guide covers exactly what works, what doesn't, and how to fill the gaps.
How the built-in rich text toolbar works
The formatting toolbar appears in both the Bluesky web app and the official mobile apps. The workflow is the same everywhere:
- Start typing your post in the compose box.
- Select the text you want to format.
- A popup toolbar appears with four options: Bold, Italic, Strikethrough, and Link.
- Tap or click the one you want. The formatting applies immediately.
That's it. No Markdown syntax is involved. Typing **bold** or _italic_ in a Bluesky post will not render as formatted text β it will show the literal asterisks or underscores. The toolbar is the only way to apply native formatting.
You can stack styles. Select a word, bold it, then select it again and italicize it β you get bold italic. Strikethrough can layer on top of either. Links work the same way: select text, tap the link button, paste the URL.
What formatting does Bluesky actually support?
Here is the complete list of native formatting Bluesky supports in posts:
| Format | How to apply | Where it works |
|---|---|---|
| Bold | Select text, tap B in toolbar | Posts and replies |
| Italic | Select text, tap I in toolbar | Posts and replies |
| Strikethrough | Select text, tap S in toolbar | Posts and replies |
| Links | Select text, tap link icon, paste URL | Posts and replies |
| Mentions | Type @ followed by a handle | Posts and replies |
| Hashtags | Type # followed by a tag | Posts and replies |
And here is what Bluesky does not support:
- No headings (H1, H2, etc.)
- No bullet or numbered lists
- No code blocks or inline code
- No underline
- No block quotes
- No Markdown rendering of any kind
If you need those formatting options, Bluesky is not the place for them. Long-form formatting belongs on a blog or newsletter; Bluesky posts are short-form by design, with a 300-character limit that keeps things concise.
How it works under the hood: rich text facets
Bluesky runs on the AT Protocol, and the formatting system is built into the protocol itself through something called rich text facets. Each facet is a byte-range annotation attached to the post text, marking a span as bold, italic, strikethrough, a link, a mention, or a hashtag.
This matters for two reasons. First, the formatting is real β it is not a visual trick or a Unicode swap. A bold word on Bluesky is the actual word with a formatting instruction, not a substituted character. Screen readers read it correctly. Search finds it normally. Second, because facets are part of the protocol, any third-party client or app that implements the AT Protocol can display the formatting. Most do, though support varies β some older or minimal clients may ignore strikethrough or render it inconsistently.
Where the toolbar doesn't reach
The rich text toolbar is limited to the post compose box. These fields are plain text with no formatting controls:
- Display name β plain text only
- Bio / description β plain text only
- Handle (username) β domain-based, no Unicode allowed
Your handle is tied to a domain (like yourname.bsky.social or a custom domain), so there is no way to style it at all. But your display name and bio are different β they accept Unicode characters, which opens the door to styled text.
Using Unicode styled text for display names and bios
Since the display name and bio fields don't have a formatting toolbar, the way to get a styled look is to paste Unicode characters that are already shaped to look bold, italic, or decorative. These are not formatting instructions β they are entirely different characters that happen to resemble styled versions of regular letters.
For example, instead of the letter "a" with bold applied, you use the character "π’" β a mathematically bold small a from the Unicode Mathematical Alphanumeric Symbols block. It looks bold on its own, so it stays bold anywhere you paste it, including plain text fields.
The Bluesky text formatter on BoldlyType generates these for you. Type your text, pick a style (bold, italic, script, gothic, bubble, and more), copy the output, and paste it into your display name or bio. No extension or app required.